home *** CD-ROM | disk | FTP | other *** search
/ Game.EXE 2005 May / My Disc.iso / patch / Cossacks 2 / C2_Patch_v1_1.exe / %MAINDIR% / Data / AI / BrigadeAI / BattleRules.ai next >
Encoding:
Text File  |  2005-05-10  |  114.8 KB  |  1,466 lines

  1. #PEHOTASTRELKI UnitFuzNG(EG)
  2. if GetLastCommTime > 0 GetLastCommTime > 1 St_ReadyToFire = 0 DistToMT < 1200 UnitsAmount > 31
  3. do SetReadyToFire 600
  4. if GetLastCommTime > 0 St_ReadyToFire = 1 DistToMT > 1500 GetAloneEnmUnits > 5 UnitsAmount > 31
  5. do SetNotReadyToFire 45
  6. if GetLastCommTime > 0 St_LineFormation = 0 DistToMT < 950 GetTired > 20 UnitsAmount > 31
  7. do FormateToLine 110
  8. if GetLastCommTime > 0 St_March = 1 St_SquareFormation = 0 DistToAim > 1800 DistToMT > 1100 IsEnemOnWay = 0 UnitsAmount > 31
  9. do FormateToSquare 46
  10. if GetLastCommTime > 0 St_March = 1 DistToMT < 1250 St_LineFormation = 0 UnitsAmount > 31
  11. do FormateToLine 111
  12. if GetLastCommTime > 0 St_March = 1 DistToMT < 1250 St_LineFormation = 0 UnitsAmount > 31
  13. do FormateToLine 112
  14. if GetLastCommTime > 2 DistToMT < 750 St_EnableFire = 0 GetFireReady > 80 UnitsAmount > 31
  15. do EnableFire 90
  16. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT < 1000 FireForceDifference > -40 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900
  17. do AttackMT 80
  18. if GetLastCommTime > 0 St_Attack = 0 GetFOOD < 10 DistToMT < 3000 GetTired > 40 UnitsAmount > 31 GetBarrierToMT < 180
  19. do AttackMT 1
  20. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 DistToMT < 1000 GetTired > 40 IsStandGround = 0 UnitsAmount > 31 FireDanger < 140 GetMeleeForceDiff > 300 GetBarrierToMT < 180 GetFrontage > 900
  21. do AttackMT 81
  22. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 FireReadyMT < 30 GetFireReady > 80 DistToMT < 1000 GetTired > 40 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900
  23. do AttackMT 82
  24. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 FireReadyMT < 44 GetFireReady > 80 DistToMT < 1000 GetTired > 40 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900
  25. do AttackMT 83
  26. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 UnitsAmountMT < 80 UnitsAmount > 100 FireReadyMT < 50 GetFireReady > 50 DistToMT < 900 GetTired > 40 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900
  27. do AttackMT 84
  28. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 GetFireReady > 20 GetTired > 40 UnitsAmount > 31 DistToMT < 1000 FireDanger < 20 Encircle > 54 GetBarrierToMT < 180 GetFrontage > 900
  29. do AttackMT 85
  30. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 GetFireReady > 80 DistToMT < 1000 DistToMT > 300 GetTired > 40 UnitsAmount > 31 FireForceDifference > -40 GetBarrierToMT < 180 GetFrontage > 900
  31. do AttackMT 86
  32. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 GetMeleeForceDiff > 120 DistToMT < 1000 GetTired > 40 UnitsAmount > 31 FireForceDifference > 12 GetBarrierToMT < 180 GetFrontage > 900
  33. do AttackMT 87
  34. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 St_EnableFire = 0 GetFireReady > 80 DistToMT < 1000 UnitsAmount > 31 FireDanger < 10 GetTired > 40 GetBarrierToMT < 180 GetFrontage > 900
  35. do AttackMT 88
  36. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 DistToMT < 700 Moral > 70 St_EnableFire = 0 FireReadyMT < 20 HaveReserv = 1 DistToMT < 1000 UnitsAmount > 31 GetTired > 20 GetBarrierToMT < 180 GetFrontage > 900
  37. do AttackMT 89
  38. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 GetFireReady < 40 DistToMT < 1000 UnitsAmountMT < 31 GetTired > 40 MoralMT > 700 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900
  39. do AttackMT 80
  40. if GetLastCommTime > 0 GetLastCommTime > 4 GetStandTime < 1 GetTired < 15 DistToMT > 400 UnitsAmount > 31
  41. do Stop 140
  42. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 4 St_March = 1 DistToAim < 200 UnitsAmount > 31
  43. do Stop 150
  44. if GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 UnitsAmount > 31 GetBarrierToMT < 180
  45. do MoveBack 60
  46. if GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 UnitsAmount > 31 GetBarrierToMT < 180
  47. do MoveBack 61
  48. if GetLastCommTime > 0 GetLastCommTime > 1 St_Reserv = 0 GetTired > 40 DistToMT < 700 St_EnableFire = 0 UnitsAmount > 31 GetBarrierToMT < 180 GetMeleeForceDiff < 90
  49. do MoveBack 61
  50. if GetLastCommTime > 0 GetLastCommTime > 1 St_Reserv = 0 GetTired > 40 DistToMT < 700 St_EnableFire = 0 UnitsAmount > 31 GetBarrierToMT < 180 GetMeleeForceDiff > 90 FireReadyMT > 20
  51. do MoveBack 61
  52. if GetLastCommTime > 0 St_Attack = 1 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  53. do MoveBack 62
  54. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  55. do MoveBack 62
  56. if GetLastCommTime > 0 St_Attack = 1 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  57. do MoveBack 63
  58. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  59. do MoveBack 63
  60. if GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 UnitsAmount > 31 GetBarrierToMT < 180
  61. do MoveBack 64
  62. if GetLastCommTime > 0 St_Attack = 1 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  63. do MoveBack 65
  64. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  65. do MoveBack 65
  66. if GetLastCommTime > 0 St_Attack = 1 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  67. do MoveBack 66
  68. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  69. do MoveBack 66
  70. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 700 GetFireReady < 5 FireDanger > 100 GetTired > 20 UnitsAmount > 31 GetBarrierToMT < 180
  71. do MoveBack 67
  72. if GetLastCommTime > 0 St_Attack = 1 GetFireReady < 5 FireDanger > 40 DistToMT < 1000 Moral < 50 UnitsAmountMT > 31 UnitsAmount > 31 GetBarrierToMT < 180
  73. do MoveBack 68
  74. if GetLastCommTime > 0 GetLastCommTime > 4 GetFireReady < 5 FireDanger > 60 DistToMT < 1000 Moral < 50 UnitsAmountMT > 31 UnitsAmount > 31 GetBarrierToMT < 180
  75. do MoveBack 68
  76. if GetLastCommTime > 0 IsStandGround = 0 St_Reserv = 0 GetStandTime > 2 GetFireReady < 5 DistToMT < 800 DistToMT > 300 FireReadyMT > 90 UnitsAmountMT > 31 GetBarrierToMT < 180
  77. do MoveBack 69
  78. if GetLastCommTime > 0 GetLastCommTime > 4 IsStandGround = 0 St_Attack = 0 Encircle > 54 FireDanger > 100 UnitsAmount > 31 GetFireReady < 30 GetBarrierToMT < 180
  79. do MoveBack 60
  80. if GetLastCommTime > 0 IsStandGround = 1 St_Attack = 0 Encircle > 90 FireDanger > 100 UnitsAmount > 31 GetFireReady < 30 GetBarrierToMT < 180
  81. do MoveBack 61
  82. if GetLastCommTime > 0 St_Attack = 1 IsStandGround = 0 MoralDiff < 70 FireDanger > 100 DistToMT < 1200 DistToMT > 600 GetFireReady < 20 UnitsAmount > 31 GetBarrierToMT < 180
  83. do MoveBack 62
  84. if GetLastCommTime > 0 GetLastCommTime > 4 IsStandGround = 0 MoralDiff < 70 FireDanger > 100 DistToMT < 1200 DistToMT > 600 GetFireReady < 20 UnitsAmount > 31 GetBarrierToMT < 180
  85. do MoveBack 62
  86. if GetLastCommTime > 0 IsStandGround = 1 Moral < 120 MoralDiff < 70 FireDanger > 100 DistToMT < 1200 DistToMT > 600 GetFireReady < 20 UnitsAmount > 31 GetBarrierToMT < 180
  87. do MoveBack 63
  88. if GetLastCommTime > 0 St_Attack = 1 IsStandGround = 0 MoralDiff < 70 FireDanger > 100 DistToMT < 1200 DistToMT > 600 GetFireReady < 20 UnitsAmount > 31 GetBarrierToMT < 180
  89. do MoveBack 64
  90. if GetLastCommTime > 0 GetLastCommTime > 4 IsStandGround = 0 MoralDiff < 70 FireDanger > 100 DistToMT < 1200 DistToMT > 600 GetFireReady < 20 UnitsAmount > 31 GetBarrierToMT < 180
  91. do MoveBack 64
  92. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 950 DistToMT > 400 IsMTCannon = 1 KartechDanger > 20 UnitsAmount > 31 GetBarrierToMT < 180
  93. do MoveBack 65
  94. if GetLastCommTime > 0 St_March = 0 GetTired > 60 DistToMT > 1000 GetFireReady > 98 DistToAim > 200 UnitsAmount > 31
  95. do MoveToAim 40
  96. if GetLastCommTime > 0 St_EnableFire = 1 DistToMT > 1500 UnitsAmount > 31
  97. do DisableFire 30
  98. if GetLastCommTime > 0 St_EnableFire = 1 GetFireReady < 2 UnitsAmount > 31
  99. do DisableFire 31
  100. /if GetStandTime > 10 GetLastCommTime > 10 St_Front = 1 DistToMT > 1000 HaveReserv = 1 UnitsAmountMT > 31 UnitsAmount > 31
  101. /do Castle 20
  102. if GetStandTime > 10 GetLastCommTime > 10 St_LineFormation = 1 St_Front = 1 DistToMT < 2500 HaveReserv = 1 UnitsAmountMT > 31 UnitsAmount > 31
  103. do Castle 21
  104. /if GetLastCommTime > 0 IsMTStandGround = 1 FireReadyMT > 20 GetFireReady > 20 IsStandGround = 0 GetStandTime > 2 GetTired > 40 DistToMT < 1100 DistToMT > 500 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 1100
  105. /do TakeInTheRear 18
  106. /if GetLastCommTime > 0 St_Reserv = 1 GetStandTime > 20 IsStandGround = 0 GetFireReady > 20 IsStandGround = 0 GetStandTime > 2 GetTired > 40 DistToMT < 1100 DistToMT > 500 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 1100
  107. /do TakeInTheRear 19
  108. if GetLastCommTime > 0 GetStandTime < 1 St_EnableFire = 0 DistToMT > 1000 GetFireReady < 40 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  109. do AttackAloneEnmUnits 15
  110. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 0 DistToMT > 1000 GetFireReady < 40 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  111. do AttackAloneEnmUnits 15
  112. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 1 DistToMT > 1000 GetFireReady < 40 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  113. do AttackAloneEnmUnits 15
  114. if GetLastCommTime > 0 GetLastCommTime > 2 St_EnableFire = 0 GetFireReady > 90 GetAloneEnmUnits > 25 UnitsAmount > 31 GetTired > 40
  115. do EnableFire 91
  116. if GetLastCommTime > 0 GetStandTime < 1 GetNGrenades > 2 DistToMT < 500 St_Attack = 1 UnitsAmount > 31 IsMTStandGround = 0 GetMTStandTime > 20
  117. do ThrowGrenade 120
  118. if GetLastCommTime > 0 GetStandTime > 2 GetNGrenades > 2 DistToMT < 500 UnitsAmount > 31 IsMTStandGround = 0 GetMTStandTime > 20
  119. do ThrowGrenade 120
  120.  
  121. if GetLastCommTime > 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetFireReady > 80 GetTired > 70 UnitsAmount > 31 DistInReserv < 70 DistToMT < 2200 DistToMT > 500
  122. do KeepDistInReserv 13
  123. if GetLastCommTime > 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetTired > 70 GetFireReady > 80 UnitsAmount > 31 DistInReserv > 130 DistToMT < 2200 DistToMT > 500
  124. do KeepDistInReserv 14
  125. /if GetLastCommTime > 0 GetStandTime > 5 St_Attack = 0 DistToMT < 2200 St_Front = 1 DistInFront > 130 GetFireReady > 80 GetTired > 70 UnitsAmount > 31 DistToMT > 500
  126. /do KeepDistInFront 15
  127. /if GetLastCommTime > 0 GetStandTime > 5 St_Attack = 0 DistToMT < 2200 St_Front = 1 DistInFront < 70 GetFireReady > 80 GetTired > 70 UnitsAmount > 31 DistToMT > 500
  128. /do KeepDistInFront 16
  129. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 900 GetFireReady > 80 GetTired > 40 AngToMT > 42 IsStandGround = 0 UnitsAmount > 31
  130. do TurnToMT 50
  131. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 GetFireReady > 70 IsStandGround = 0 AngToMT > 42 UnitsAmount > 31
  132. do TurnToMT 51
  133. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 GetFireReady > 70 IsStandGround = 1 AngToMT > 42 UnitsAmount > 31
  134. do TurnToMT 52
  135. if GetLastCommTime > 0 St_March = 1 DistToAim > 200 GetLastCommTime > 20 UnitsAmount > 31
  136. do MoveToAim 91
  137. if GetLastCommTime > 0 GetStandTime > 2 GetDistToFriendlyForm < 100 GetTired > 70 St_Attack = 0 GetLastCommTime > 5 UnitsAmount > 31 DistToMT > 900
  138. do KeepDistInReserv 17
  139. /if GetLastCommTime > 0 GetStandTime > 2 GetDistToFriendlyForm < 100 GetTired > 70 St_Attack = 0 St_Reserv = 1 HaveReserv = 1 GetLastCommTime > 5 UnitsAmount > 31 DistToMT > 500
  140. /do KeepDistInFront 18
  141. /if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 700 DistToMT < 1700 GetStandTime > 12 GetTired > 70 GetFireReady > 80 Moral > 75 IsStandGround = 0 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900 IsStandGround = 0
  142. /do StepForward 11
  143. /if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 700 DistToMT < 1700 GetStandTime > 25 GetTired > 70 GetFireReady > 80 Moral > 75 IsStandGround = 1 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900 IsStandGround = 0
  144. /do StepForward 12
  145. #
  146. #HORSE UnitKDrg(FR) UnitKKir(FR) UnitKGre(FR) UnitKKar(FR) UnitKDrg(RU) UnitKKir(RU) UnitKKir(PR) UnitKDrg(PR) UnitKKar(PR) UnitKDrg(EN) UnitKKar(EN) UnitKDrg(AU) UnitKKir(AU)
  147. if GetLastCommTime > 0 St_SquareFormation = 0 DistToMT < 1500
  148. do FormateToSquare 110
  149. if GetLastCommTime > 0 St_March = 1 St_KareFormation = 0 DistToAim > 1800 IsEnemOnWay = 0 GetTired > 20
  150. do FormateToKare 46
  151. if GetLastCommTime > 0 St_Attack = 0 St_March = 0 DistToAim > 200 GetTired > 70 DistToMT > 1200
  152. do MoveToAim 41
  153. if GetLastCommTime > 0 St_Attack = 0 St_March = 0 DistToAim > 200 GetTired > 70 DistToMT > 1200
  154. do MoveToAim 40
  155. if GetLastCommTime > 0 St_Attack = 0 St_March = 0 DistToAim > 200 GetTired > 70 DistToMT > 1200 GetFireReady > 98
  156. do MoveToAim 42
  157. if GetLastCommTime > 0 GetLastCommTime > 4 St_Attack = 0 DistToMT < 700 Moral < 45 FireReadyMT > 80 GetBarrierToMT < 180
  158. do MoveBack 60
  159. if GetLastCommTime > 0 St_Attack = 1 UnitsAmount < 10 Moral < 100 GetTired > 30 DistToMT < 700 GetBarrierToMT < 180
  160. do MoveBack 61
  161. if GetLastCommTime > 0 GetLastCommTime > 4 UnitsAmount < 10 Moral < 100 GetTired > 30 DistToMT < 700 GetBarrierToMT < 180
  162. do MoveBack 61
  163. if GetLastCommTime > 0 GetLastCommTime > 4 St_Attack = 0 DistToMT < 500 GetFireReady < 5 FireReadyMT > 80 GetBarrierToMT < 180 GetPolkCommand < 5
  164. do MoveBack 62
  165. if GetLastCommTime > 0 GetLastCommTime > 4 St_Attack = 0 GetMeleeForceDiff > 90 FireReadyMT < 10 DistToMT < 300 GetBarrierToMT < 180 GetFireReady < 20
  166. do MoveBack 63
  167. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 1100 Encircle > 55 GetBarrierToMT < 180
  168. do MoveBack 64
  169. if GetLastCommTime > 0 St_Attack = 1 DistToMT < 900 DistToMT > 600 FireDanger > 200 GetTired > 20 GetBarrierToMT < 180
  170. do MoveBack 65
  171. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 900 DistToMT > 600 FireDanger > 200 GetTired > 20 GetBarrierToMT < 180
  172. do MoveBack 65
  173. if GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 GetBarrierToMT < 180
  174. do MoveBack 66
  175. if GetLastCommTime > 0 GetLastCommTime > 4 St_Attack = 0 GetTired > 15 DistToMT < 600 FireDanger > 95 GetBarrierToMT < 180
  176. do MoveBack 67
  177. if GetLastCommTime > 0 GetLastCommTime > 2 DistToMT < 300 Moral > 36 GetTired > 10 IsStandGround = 0 FireDanger < 10 GetMeleeForceDiff < 111 GetBarrierToMT < 180
  178. do MoveBack 68
  179. if GetLastCommTime > 0 GetLastCommTime > 2 DistToMT < 300 Moral < 37 GetTired > 10 IsStandGround = 0 FireDanger < 10 GetMeleeForceDiff > 110 GetBarrierToMT < 180
  180. do MoveBack 69
  181. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 900 GetFireReady > 80 GetTired > 40 AngToMT > 42 IsStandGround = 0
  182. do TurnToMT 50
  183. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 GetFireReady > 70 IsStandGround = 0 AngToMT > 42
  184. do TurnToMT 51
  185. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 GetFireReady > 70 IsStandGround = 1 AngToMT > 42
  186. do TurnToMT 52
  187. if GetLastCommTime > 0 DistToMT < 900 St_EnableFire = 0 GetFireReady > 80 GetMTForestDensity < 40 MoralMTAfterFire < 37
  188. do EnableFire 90
  189. if GetLastCommTime > 0 GetStandTime < 1 St_Attack = 1 St_EnableFire = 0 FireReadyMT > 30 GetFireReady > 60 MoralMT > 140 DistToMT < 450 KillAmoMT > 0 GetMTForestDensity < 40 IsMTStandGround = 0
  190. do EnableFire 91
  191. if GetLastCommTime > 0 St_EnableFire = 0 GetFireReady > 60 DistToMT < 250 GetMeleeForceDiff < 150
  192. do EnableFire 92
  193. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 750 GetFireReady > 20 FireReadyMT > 40 Moral < 40
  194. do EnableFire 93
  195. if GetLastCommTime > 0 St_EnableFire = 0 Moral < 150 MoralMT < 120 FireDanger > 200 DistToMT < 600 UnitsAmount > 31 GetFireReady > 20 
  196. do EnableFire 94
  197. if GetLastCommTime > 0 IsMTStandGround = 1 DistToMT < 800 St_EnableFire = 0 GetFireReady > 20 GetMTForestDensity < 40 MoralMTAfterFire < 35
  198. do EnableFire 95
  199. if GetLastCommTime > 0 IsMTStandGround = 1 DistToMT < 800 St_EnableFire = 0 GetFireReady > 20 KillAmoMT > 5 GetMTForestDensity < 40
  200. do EnableFire 96
  201. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 900 Moral < 60 MoralDiff > 150 GetFireReady > 80 FireReadyMT > 50 KillAmoMT > 0 GetMTForestDensity < 40 UnitsAmount > 31
  202. do EnableFire 97
  203. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 0 DistToMT > 1000 GetFireReady > 70 GetAloneEnmUnits > 15
  204. do EnableFire 98
  205. if GetLastCommTime > 0 DistToMT < 250 St_EnableFire = 0 GetFireReady > 50 GetMeleeForceDiff < 150
  206. do EnableFire 99
  207. if GetLastCommTime > 1 IsMTCannon = 1 DistToMT < 300 GetFireReady > 30
  208. do EnableFire 90
  209. if GetLastCommTime > 0 St_Attack = 0 GetFOOD < 10 DistToMT < 3000 GetBarrierToMT < 180
  210. do AttackMT 1
  211. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 FireReadyMT < 41 GetFireReady > 80 DistToMT < 1200 GetTired > 40 GetBarrierToMT < 180
  212. do AttackMT 82
  213. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 FireReadyMT < 41 GetFireReady > 80 DistToMT < 1200 GetTired > 40 GetBarrierToMT < 180
  214. do AttackMT 83
  215. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 UnitsAmountMT < 90 UnitsAmount > 25 FireReadyMT < 41 GetFireReady > 50 DistToMT < 900 GetTired > 40 GetBarrierToMT < 180
  216. do AttackMT 84
  217. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 GetFireReady > 40 GetTired > 40 DistToMT < 1200 FireDanger < 20 Encircle > 54 GetBarrierToMT < 180
  218. do AttackMT 85
  219. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_Attack = 0 St_EnableFire = 0 GetFireReady > 80 DistToMT < 1200 FireDanger < 10 GetTired > 40 GetBarrierToMT < 180
  220. do AttackMT 88
  221. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 DistToMT < 900 Moral > 60 St_EnableFire = 0 FireReadyMT < 41 HaveReserv = 1 DistToMT < 1200 GetBarrierToMT < 180
  222. do AttackMT 89
  223. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 DistToMT < 900 Moral > 160 UnitsAmount > 29 St_EnableFire = 0 HaveReserv = 1 DistToMT < 1200 GetBarrierToMT < 180
  224. do AttackMT 89
  225. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 DistToMT < 1200 UnitsAmountMT < 31 GetTired > 40 MoralMT > 700 GetBarrierToMT < 180
  226. do AttackMT 80
  227. if GetLastCommTime > 0 St_EnableFire = 0 GetFireReady > 60 DistToMT < 250 GetMeleeForceDiff > 150
  228. do MeleeAttack 106
  229. if GetLastCommTime > 1 DistToMT < 800 Moral > 35 GetTired > 40 IsStandGround = 0 FireDanger < 20 GetMeleeForceDiff > 180 IsMTStandGround = 0 GetBarrierToMT < 180
  230. do MeleeAttack 100
  231. if GetLastCommTime > 1 GetTired > 40 DistToMT < 800 UnitsAmount > 70 IsStandGround = 0 GetFireReady < 30 FireDanger < 10 GetMeleeForceDiff > 90 IsMTStandGround = 0 GetBarrierToMT < 180
  232. do MeleeAttack 101
  233. if GetLastCommTime > 1 DistToMT < 300 Moral > 50 GetTired > 10 IsStandGround = 0 FireDanger < 10 GetMeleeForceDiff > 110 GetBarrierToMT < 180 IsMTStandGround = 0
  234. do MeleeAttack 102
  235. if GetLastCommTime > 1 GetFireReady < 5 DistToMT < 1200 UnitsAmountMT < 31 GetTired > 40 Moral > 40 IsMTStandGround = 0 GetBarrierToMT < 180 IsMTStandGround = 0
  236. do MeleeAttack 69
  237. if GetLastCommTime > 1 GetFireReady < 10 FireReadyMT > 80 MoralMT < 38 DistToMT < 350 Moral > 45 IsStandGround = 0 GetBarrierToMT < 180 IsMTStandGround = 0
  238. do MeleeAttack 103
  239. if GetLastCommTime > 0 DistToMT < 250 UnitsAmount > 31 IsMTStandGround = 0
  240. do MeleeAttack 104
  241. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 GetTired > 40 DistToMT < 1200 FireDanger < 20 Encircle > 54 GetMeleeForceDiff > 140 GetBarrierToMT < 180
  242. do AttackMT 104
  243. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 UnitsAmountMT < 90 UnitsAmount > 25 FireReadyMT < 41 DistToMT < 900 GetTired > 40 GetMeleeForceDiff > 140 GetBarrierToMT < 180
  244. do AttackMT 105
  245. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 DistToMT < 1200 GetTired > 40 IsStandGround = 0 FireDanger < 140 FireReadyMT < 30 GetMeleeForceDiff > 140 GetBarrierToMT < 180
  246. do AttackMT 106
  247. if GetLastCommTime > 2 IsMTCannon = 1 St_Attack = 0 DistToMT < 1200 GetFireReady > 70 FireDanger < 30 GetTired > 40 GetBarrierToMT < 180
  248. do ArmAttack 108
  249. if GetLastCommTime > 1 DistToMT < 250 IsStandGround = 0 GetBarrierToMT < 180 IsMTStandGround = 0
  250. do MeleeAttack 107
  251. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 4 GetStandTime < 1 GetTired < 15 DistToMT > 300
  252. do Stop 70
  253. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 4 GetStandTime < 1 GetTired < 13 DistToMT > 300 UnitsAmountMT < 31
  254. do Stop 120
  255. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 4 St_March = 1 DistToAim < 200
  256. do Stop 150
  257. if GetLastCommTime > 0 St_EnableFire = 1 DistToMT > 1200
  258. do DisableFire 30
  259. if GetLastCommTime > 0 St_EnableFire = 1 GetFireReady < 10
  260. do DisableFire 31
  261. if GetLastCommTime > 0 GetLastCommTime > 4 St_Front = 1 DistToMT > 1000 GetFireReady < 15 HaveReserv = 1 MoralMT < 700
  262. do Castle 20
  263. if GetLastCommTime > 0 GetLastCommTime > 4 St_Front = 1 DistToMT < 1200 GetFireReady < 15 HaveReserv = 1 FireReadyMT < 70 MoralMT < 700
  264. do Castle 21
  265. if GetLastCommTime > 0 GetStandTime > 2 IsMTStandGround = 1 FireReadyMT > 20 GetFireReady > 60 IsStandGround = 0 GetTired > 40 DistToMT < 1100 DistToMT > 500 GetBarrierToMT < 180
  266. do TakeInTheRear 18
  267. if GetLastCommTime > 0 GetStandTime > 10 DistToMT < 1500 IsStandGround = 0 GetFireReady > 20 GetStandTime > 2 GetTired > 40 DistToMT < 1100 DistToMT > 500 UnitsAmount > 31 GetBarrierToMT < 180 GetPolkCommand > 5
  268. do TakeInTheRear 19
  269. if GetLastCommTime > 0 GetStandTime > 5 St_Attack = 0 DistToMT < 1400 St_Front = 1 DistInFront > 200 GetFireReady > 80 GetTired > 90 DistToMT > 500
  270. do KeepDistInFront 16
  271. if GetLastCommTime > 0 GetStandTime > 5 St_Attack = 0 DistToMT < 1400 St_Front = 1 DistInFront < 60 GetFireReady > 80 GetTired > 50 DistToMT > 500
  272. do KeepDistInFront 16
  273. if GetLastCommTime > 0 DistToMT > 1000 GetFireReady < 70 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  274. do AttackAloneEnmUnits 15
  275. if GetLastCommTime > 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetFireReady > 80 GetTired > 80 UnitsAmount > 31 DistInReserv < 70 DistToMT > 500
  276. do KeepDistInReserv 14
  277. if GetLastCommTime > 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetTired > 50 GetFireReady > 80 UnitsAmount > 31 DistInReserv > 130 DistToMT > 500
  278. do KeepDistInReserv 14
  279. /if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 700 DistToMT < 1700 GetStandTime > 12 GetTired > 70 GetFireReady > 80 Moral > 75 IsStandGround = 0 GetBarrierToMT < 180
  280. /do StepForward 11
  281. /if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 700 DistToMT < 1700 GetStandTime > 25 GetTired > 70 GetFireReady > 80 Moral > 75 IsStandGround = 1 GetBarrierToMT < 180
  282. /do StepForward 12
  283. #
  284. #HORSE UnitKUln(FR) UnitKEgr(FR) UnitKGus(FR) UnitKMam(FR) UnitKEgr(RU) UnitKGus(RU) UnitKMam(RU) UnitKUln(RU) UnitKEgr(PR) UnitKDrg(PR) UnitKKir(PR) UnitKKar(PR) UnitKFlg(PR) UnitKGus(PR) UnitKEgr(EN) UnitKGus(EN) UnitKMam(EG) UnitKDrg(EG) UnitKUln(AU) UnitKGus(AU) UnitKEgr(AU) UnitKArb(EG) UnitKDKoz(RU)
  285. if GetLastCommTime > 0 St_SquareFormation = 0 DistToMT < 1500
  286. do FormateToSquare 110
  287. if GetLastCommTime > 0 St_March = 1 St_KareFormation = 0 DistToAim > 1800 IsEnemOnWay = 0 GetTired > 20
  288. do FormateToKare 46
  289. if GetLastCommTime > 0 St_Attack = 0 St_March = 0 DistToAim > 200 GetTired > 60 DistToMT > 1200
  290. do MoveToAim 41
  291. if GetLastCommTime > 0 St_Attack = 0 St_March = 0 DistToAim > 200 GetTired > 60 DistToMT > 1200
  292. do MoveToAim 40
  293. if GetLastCommTime > 0 St_Attack = 0 St_March = 0 DistToAim > 200 GetTired > 60 DistToMT > 1200 GetFireReady > 98
  294. do MoveToAim 42
  295. if GetLastCommTime > 0 GetLastCommTime > 4 St_Attack = 0 DistToMT < 700 Moral < 45 FireReadyMT > 80 GetBarrierToMT < 180
  296. do MoveBack 60
  297. if GetLastCommTime > 0 St_Attack = 1 UnitsAmount < 10 Moral < 100 GetTired > 30 DistToMT < 700 GetBarrierToMT < 180
  298. do MoveBack 61
  299. if GetLastCommTime > 0 GetLastCommTime > 4 UnitsAmount < 10 Moral < 100 GetTired > 30 DistToMT < 700 GetBarrierToMT < 180
  300. do MoveBack 61
  301. if GetLastCommTime > 0 GetLastCommTime > 4 St_Attack = 0 DistToMT < 500 GetFireReady < 5 FireReadyMT > 80 GetBarrierToMT < 180 GetPolkCommand < 5
  302. do MoveBack 62
  303. if GetLastCommTime > 0 GetLastCommTime > 4 St_Attack = 0 GetMeleeForceDiff > 90 FireReadyMT < 10 DistToMT < 300 GetBarrierToMT < 180
  304. do MoveBack 63
  305. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 1100 Encircle > 55 GetBarrierToMT < 180
  306. do MoveBack 64
  307. if GetLastCommTime > 0 St_Attack = 1 DistToMT < 900 DistToMT > 600 FireDanger > 200 GetTired > 20 GetBarrierToMT < 180
  308. do MoveBack 65
  309. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 900 DistToMT > 600 FireDanger > 200 GetTired > 20 GetBarrierToMT < 180
  310. do MoveBack 65
  311. if GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 GetBarrierToMT < 180
  312. do MoveBack 66
  313. if GetLastCommTime > 0 GetLastCommTime > 4 St_Attack = 0 GetTired > 15 DistToMT < 600 FireDanger > 95 GetBarrierToMT < 180
  314. do MoveBack 67
  315. if GetLastCommTime > 0 GetLastCommTime > 2 DistToMT < 300 Moral > 35 GetTired > 10 IsStandGround = 0 FireDanger < 10 GetMeleeForceDiff < 111 GetBarrierToMT < 180
  316. do MoveBack 68
  317. if GetLastCommTime > 0 GetLastCommTime > 2 DistToMT < 300 Moral < 36 GetTired > 10 IsStandGround = 0 FireDanger < 10 GetMeleeForceDiff > 110 GetBarrierToMT < 180
  318. do MoveBack 69
  319. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 900 GetFireReady > 80 GetTired > 40 AngToMT > 42 IsStandGround = 0
  320. do TurnToMT 50
  321. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 GetFireReady > 70 IsStandGround = 0 AngToMT > 42
  322. do TurnToMT 51
  323. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 GetFireReady > 70 IsStandGround = 1 AngToMT > 42
  324. do TurnToMT 52
  325. if GetLastCommTime > 0 DistToMT < 900 St_EnableFire = 0 GetFireReady > 80 GetMTForestDensity < 40 MoralMTAfterFire < 37
  326. do EnableFire 90
  327. if GetLastCommTime > 0 GetStandTime < 1 St_Attack = 1 St_EnableFire = 0 FireReadyMT > 30 GetFireReady > 60 MoralMT > 140 DistToMT < 450 KillAmoMT > 0 GetMTForestDensity < 40 IsMTStandGround = 0
  328. do EnableFire 91
  329. if GetLastCommTime > 0 St_EnableFire = 0 GetFireReady > 60 DistToMT < 250 GetMeleeForceDiff < 150
  330. do EnableFire 92
  331. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 750 GetFireReady > 20 FireReadyMT > 40 Moral < 40
  332. do EnableFire 93
  333. if GetLastCommTime > 0 St_EnableFire = 0 Moral < 150 MoralMT < 120 FireDanger > 200 DistToMT < 600 UnitsAmount > 31 GetFireReady > 20 
  334. do EnableFire 94
  335. if GetLastCommTime > 0 IsMTStandGround = 1 DistToMT < 800 St_EnableFire = 0 GetFireReady > 20 GetMTForestDensity < 40 MoralMTAfterFire < 35
  336. do EnableFire 95
  337. if GetLastCommTime > 0 IsMTStandGround = 1 DistToMT < 800 St_EnableFire = 0 GetFireReady > 20 KillAmoMT > 5 GetMTForestDensity < 40
  338. do EnableFire 96
  339. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 900 Moral < 60 MoralDiff > 150 GetFireReady > 80 FireReadyMT > 50 KillAmoMT > 0 GetMTForestDensity < 40 UnitsAmount > 31
  340. do EnableFire 97
  341. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 0 DistToMT > 1000 GetFireReady > 70 GetAloneEnmUnits > 15
  342. do EnableFire 98
  343. if GetLastCommTime > 0 DistToMT < 250 St_EnableFire = 0 GetFireReady > 50 GetMeleeForceDiff < 150
  344. do EnableFire 99
  345. if GetLastCommTime > 0 GetLastCommTime > 1 IsMTCannon = 1 DistToMT < 300 GetFireReady > 30
  346. do EnableFire 90
  347. if GetLastCommTime > 0 St_Attack = 0 GetFOOD < 10 DistToMT < 3000 GetBarrierToMT < 180
  348. do AttackMT 1
  349. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 FireReadyMT < 41 GetFireReady > 80 DistToMT < 1200 GetTired > 40 GetBarrierToMT < 180
  350. do AttackMT 82
  351. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 FireReadyMT < 41 GetFireReady > 80 DistToMT < 1200 GetTired > 40 GetBarrierToMT < 180
  352. do AttackMT 83
  353. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 UnitsAmountMT < 90 UnitsAmount > 25 FireReadyMT < 41 GetFireReady > 50 DistToMT < 900 GetTired > 40 GetBarrierToMT < 180
  354. do AttackMT 84
  355. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 GetFireReady > 40 GetTired > 40 DistToMT < 1200 FireDanger < 20 Encircle > 54 GetBarrierToMT < 180
  356. do AttackMT 85
  357. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 St_EnableFire = 0 GetFireReady > 80 DistToMT < 1200 FireDanger < 10 GetTired > 40 GetBarrierToMT < 180
  358. do AttackMT 88
  359. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 DistToMT < 900 Moral > 60 St_EnableFire = 0 FireReadyMT < 20 HaveReserv = 1 DistToMT < 1200 GetBarrierToMT < 180
  360. do AttackMT 89
  361. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 DistToMT < 900 Moral > 160 UnitsAmount > 29 St_EnableFire = 0 HaveReserv = 1 DistToMT < 1200 GetBarrierToMT < 180
  362. do AttackMT 89
  363. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 DistToMT < 1200 UnitsAmountMT < 31 GetTired > 40 MoralMT > 700 GetBarrierToMT < 180
  364. do AttackMT 80
  365. if GetLastCommTime > 0 St_EnableFire = 0 GetFireReady > 60 DistToMT < 250 GetMeleeForceDiff > 150
  366. do MeleeAttack 106
  367. if GetLastCommTime > 1 DistToMT < 800 Moral > 45 GetTired > 40 IsStandGround = 0 FireDanger < 20 GetMeleeForceDiff > 180 IsMTStandGround = 0 GetBarrierToMT < 180
  368. do MeleeAttack 100
  369. if GetLastCommTime > 1 GetTired > 40 DistToMT < 800 UnitsAmount > 70 IsStandGround = 0 GetFireReady < 30 FireDanger < 10 GetMeleeForceDiff > 90 IsMTStandGround = 0 GetBarrierToMT < 180
  370. do MeleeAttack 101
  371. if GetLastCommTime > 1 DistToMT < 300 Moral > 50 GetTired > 10 IsStandGround = 0 FireDanger < 10 GetMeleeForceDiff > 110 GetBarrierToMT < 180 IsMTStandGround = 0
  372. do MeleeAttack 102
  373. if GetLastCommTime > 1 GetFireReady < 5 DistToMT < 1200 UnitsAmountMT < 31 GetTired > 40 Moral > 40 IsMTStandGround = 0 GetBarrierToMT < 180
  374. do MeleeAttack 69
  375. if GetLastCommTime > 1 GetFireReady < 10 FireReadyMT > 80 MoralMT < 38 DistToMT < 350 Moral > 45 IsStandGround = 0 GetBarrierToMT < 180
  376. do MeleeAttack 103
  377. if GetLastCommTime > 0 DistToMT < 250 UnitsAmount > 31 IsMTStandGround = 0
  378. do MeleeAttack 104
  379. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 GetTired > 35 DistToMT < 1200 FireDanger < 20 Encircle > 54 GetMeleeForceDiff > 140 GetBarrierToMT < 180
  380. do AttackMT 104
  381. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 UnitsAmountMT < 90 UnitsAmount > 25 FireReadyMT < 41 DistToMT < 900 GetTired > 40 GetMeleeForceDiff > 140 GetBarrierToMT < 180
  382. do AttackMT 105
  383. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 DistToMT < 1200 GetTired > 40 IsStandGround = 0 FireDanger < 140 FireReadyMT < 41 GetMeleeForceDiff > 140 GetBarrierToMT < 180
  384. do AttackMT 106
  385. if GetLastCommTime > 0 GetLastCommTime > 4 IsMTCannon = 1 St_Attack = 0 DistToMT < 1200 GetFireReady > 70 FireDanger < 30 GetTired > 40 GetBarrierToMT < 180
  386. do ArmAttack 108
  387. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 250 IsStandGround = 0 GetBarrierToMT < 180 IsMTStandGround = 0
  388. do MeleeAttack 107
  389. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 4 GetStandTime < 1 GetTired < 13 DistToMT > 300
  390. do Stop 70
  391. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 4 GetStandTime < 1 GetTired < 13 DistToMT > 300 UnitsAmountMT < 31
  392. do Stop 120
  393. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 4 St_March = 1 DistToAim < 200
  394. do Stop 150
  395. if GetLastCommTime > 0 St_EnableFire = 1 DistToMT > 1200
  396. do DisableFire 30
  397. if GetLastCommTime > 0 St_EnableFire = 1 GetFireReady < 10
  398. do DisableFire 31
  399. if GetLastCommTime > 0 GetLastCommTime > 4 St_Front = 1 DistToMT > 1000 GetFireReady < 15 HaveReserv = 1 MoralMT < 700
  400. do Castle 20
  401. if GetLastCommTime > 0 GetLastCommTime > 4 St_Front = 1 DistToMT < 1200 GetFireReady < 15 HaveReserv = 1 FireReadyMT < 70 MoralMT < 700
  402. do Castle 21
  403. if GetLastCommTime > 0 GetStandTime > 10 IsStandGround = 0 GetFireReady > 20 IsStandGround = 0 GetStandTime > 2 GetTired > 40 DistToMT < 1100 DistToMT > 500 UnitsAmount > 31 GetBarrierToMT < 180 GetPolkCommand > 5
  404. do TakeInTheRear 18
  405. if GetLastCommTime > 0 GetStandTime > 2 IsMTStandGround = 1 FireReadyMT > 20 GetFireReady > 60 IsStandGround = 0 GetTired > 40 DistToMT < 1100 DistToMT > 500 UnitsAmount > 31 GetBarrierToMT < 180
  406. do TakeInTheRear 19
  407. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 1400 St_Front = 1 DistInFront > 200 GetFireReady > 80 GetTired > 90 UnitsAmount > 31 DistToMT > 500
  408. do KeepDistInFront 16
  409. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 1400 St_Front = 1 DistInFront < 60 GetFireReady > 80 GetTired > 50 UnitsAmount > 31 DistToMT > 500
  410. do KeepDistInFront 16
  411. if GetLastCommTime > 0 DistToMT > 1000 GetFireReady < 70 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40 UnitsAmount > 31
  412. do AttackAloneEnmUnits 15
  413. if GetLastCommTime > 0 GetStandTime > 2 St_Reserv = 1 St_Attack = 0 GetFireReady > 80 GetTired > 80 UnitsAmount > 31 DistInReserv < 70 UnitsAmount > 31 DistToMT > 500
  414. do KeepDistInReserv 14
  415. if GetLastCommTime > 0 GetStandTime > 2 St_Reserv = 1 St_Attack = 0 GetTired > 50 GetFireReady > 80 UnitsAmount > 31 DistInReserv > 130 UnitsAmount > 31 DistToMT > 500
  416. do KeepDistInReserv 14
  417. /if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 700 DistToMT < 1700 GetStandTime > 12 GetTired > 70 GetFireReady > 80 Moral > 75 IsStandGround = 0 UnitsAmount > 31 GetBarrierToMT < 180
  418. /do StepForward 11
  419. /if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 700 DistToMT < 1700 GetStandTime > 25 GetTired > 70 GetFireReady > 80 Moral > 75 IsStandGround = 1 UnitsAmount > 31 GetBarrierToMT < 180
  420. /do StepForward 12
  421. #
  422. #PEHOTASTRELKI UnitFuz(FR) UnitFuzNG(FR) UnitVol(FR) UnitGre(FR) UnitGre(PR) UnitVol(PR) UnitFuz(PR) UnitOf(PR) UnitBar(PR) UnitFlg(PR) UnitFuz(EG) UnitOf(EG) UnitBar(EG) UnitVol(EN) UnitFuz(EN) UnitGre(EN) UnitOf(EN) UnitBar(EN) UnitFlg(EN) UnitFuzNG(AU) UnitFuz(AU) UnitVol(AU) UnitGre(AU) UnitOf(AU) UnitBar(AU) UnitFlg(AU) UnitOf(PR) UnitBar(PR) UnitFlg(PR) UnitFuz(RU) UnitGre(RU) UnitOf(RU) UnitBar(RU) UnitFlg(RU) UnitFuz(EG) UnitOf(EG) UnitBar(EG) UnitOf(EG) UnitBar(EG) TempMent(FR) TempMent(NE)
  423. if GetLastCommTime > 4 GetStandTime > 10 DistToMT < 1500 FireForceDifference > 70 FireDanger < 40 Moral > 64 GetFireReady > 80 UnitsAmount > 31 GetBarrierToMT < 180
  424. do TakeInTheRear 19
  425. if GetLastCommTime > 5 GetDistToEnmBuilding < 600 GetNGrenades > 2 UnitsAmount > 31
  426. do ThrowGrenadeInABuilding 222
  427. /if GetLastCommTime > 0 St_Reserv = 1 GetLastCommTime > 3 IsStandGround = 0 GetFireReady > 70 GetMTStandTime < 2 GetTired > 30 DistToMT < 1500 DistToMT > 600 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 1100
  428. /do TakeInTheRear 20
  429. if UnitsAmount > 31 St_Attack = 0 GetLastCommTime > 0 St_KareFormation = 0 St_Attack = 0 GetTired < 25 DistToMT < 1600 DistToMT > 600 GetPolkCommand < 4
  430. do FormateToKare 141
  431. //if GetLastCommTime > 0 St_SquareFormation = 0 St_Attack = 0 St_March = 0 GetStandTime > 5 GetTired < 15 DistToMT < 1600 DistToMT > 600 GetPolkCommand < 3 GetFrontage > 900
  432. //do FormateToKare 144
  433. if UnitsAmount > 31 GetLastCommTime > 0 St_KareFormation = 1 St_Attack = 0 GetTired > 95 GetStandTime > 9 DistToMT > 400
  434. do FormateToLine 143
  435. if GetStandTime > 1 GetLastCommTime > 1 St_ReadyToFire = 0 DistToMT < 1100 UnitsAmount > 31
  436. do SetReadyToFire 600
  437. if GetLastCommTime > 0 St_ReadyToFire = 1 DistToMT > 1500 GetAloneEnmUnits > 5 UnitsAmount > 31
  438. do SetNotReadyToFire 45
  439. if GetLastCommTime > 0 St_March = 1 DistToMT < 1250 St_LineFormation = 0 St_KareFormation = 0 UnitsAmount > 31 UnitsAmountMT > 31
  440. do FormateToLine 112
  441. if GetLastCommTime > 0 St_March = 0 DistToMT > 600 DistToMT < 1250 St_LineFormation = 0 UnitsAmount > 31 UnitsAmountMT > 31 GetPolkCommand > 3
  442. do FormateToLine 112
  443. if GetLastCommTime > 0 GetNApparentEnemyForm > GetNApparentFriendlyForm GetPolkCommand > 3 St_March = 1 DistToMT < 1250 St_LineFormation = 0 St_KareFormation = 0 UnitsAmount > 31 UnitsAmountMT > 31
  444. do FormateToLine 112
  445. if GetLastCommTime > 0 GetNApparentEnemyForm > GetNApparentFriendlyForm GetPolkCommand > 3 St_March = 0 DistToMT > 600 DistToMT < 1250 St_LineFormation = 0 UnitsAmount > 31 UnitsAmountMT > 31
  446. do FormateToLine 112
  447. if GetLastCommTime > 0 GetNApparentEnemyForm > GetNApparentFriendlyForm St_KareFormation = 0 St_LineFormation = 0 DistToMT < 3000 GetTired > 20 UnitsAmount > 31 GetPolkCommand < 6 UnitsAmountMT > 31
  448. do FormateToLine 113
  449. /if GetLastCommTime > 0 St_KareFormation = 0 St_LineFormation = 0 DistToMT < 950 GetTired > 20 UnitsAmount > 31 GetFrontage > 400
  450. /do FormateToLine 111
  451. /if GetLastCommTime > 0 St_KareFormation = 0 St_LineFormation = 0 DistToMT < 950 GetTired > 20 UnitsAmount > 31 GetFrontage < 400
  452. /do FormateToKare 110
  453. if St_SquareFormation = 0 GetLastCommTime > 1 St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 3000 GetFireReady > 98 DistToAim > 200 UnitsAmount > 31 GetPolkCommand < 6
  454. do FormateToSquare 47
  455. if St_SquareFormation = 0 GetLastCommTime > 1 St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 1250 GetFireReady > 98 DistToAim > 200 UnitsAmount > 31 GetPolkCommand > 5
  456. do FormateToSquare 48
  457. if GetLastCommTime > 0 St_March = 1 St_SquareFormation = 0 DistToAim > 1800 DistToMT > 1100 IsEnemOnWay = 0 UnitsAmount > 31
  458. do FormateToSquare 46
  459. /if GetLastCommTime > 0 St_LineFormation = 1 DistToMT < 1100 GetFrontage < 300 UnitsAmount > 31
  460. /do FormateToSquare 114
  461. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 950 Moral > 45 GetTired > 40 IsStandGround = 0 UnitsAmount > 31 FireDanger < 20 GetMeleeForceDiff > 180 GetBarrierToMT < 180
  462. do ArmAttack 100
  463. if GetLastCommTime > 0 GetLastCommTime > 4 GetTired > 40 DistToMT < 950 UnitsAmount > 70 IsStandGround = 0 GetFireReady < 30 FireDanger < 10 GetMeleeForceDiff > 90 GetBarrierToMT < 180 UnitsAmount > 31
  464. do ArmAttack 101
  465. if GetLastCommTime > 0 GetLastCommTime > 4 GetStandTime > 2 DistToMT < 300 Moral > MoralMT GetTired > 10 IsStandGround = 0 UnitsAmount > 31 FireDanger < 10 GetMeleeForceDiff > 110 GetBarrierToMT < 180
  466. do MeleeAttack 102
  467. if GetLastCommTime > 0 GetLastCommTime > 4 GetFireReady < 5 DistToMT < 1200 UnitsAmountMT < 31 GetTired > 70 Moral > 40 UnitsAmount > 31 GetBarrierToMT < 180
  468. do ArmAttack 103
  469. if GetLastCommTime > 0 GetLastCommTime > 4 GetFireReady < 10 FireReadyMT > 80 MoralMT < 38 DistToMT < 250 Moral > 45 IsStandGround = 0 UnitsAmount > 31 GetBarrierToMT < 180 IsMTStandGround = 0
  470. do MeleeAttack 104
  471. if GetLastCommTime > 0 IsStandGround = 0 St_EnableFire = 0 DistToMT < 250 GetFireReady > 40 FireReadyMT < 10 GetMeleeForceDiff > 190 Moral > 70 MoralMT < 100 UnitsAmount > 31 FireDanger < 60 GetBarrierToMT < 180
  472. do MeleeAttack 105
  473. if GetLastCommTime > 0 GetStandTime > 5 DistToMT < 250 UnitsAmount > 31 IsStandGround = 0 IsMTStandGround = 0 GetMeleeForceDiff > 80
  474. do MeleeAttack 106
  475. if GetLastCommTime > 0 DistToMT < 900 St_EnableFire = 0 GetFireReady > 20 GetMTForestDensity < 40 MoralMTAfterFire < 40 UnitsAmount > 31
  476. do EnableFire 91
  477. if GetLastCommTime > 0 DistToMT < 900 St_EnableFire = 0 GetFireReady > 20 GetMTForestDensity < 40 MoralMTAfterFire < 40 FireReadyMT > 10 UnitsAmount > 31
  478. do EnableFire 92
  479. if GetLastCommTime > 0 DistToMT < 900 St_EnableFire = 0 GetFireReady > 20 GetMTForestDensity < 40 MoralMTAfterFire < 40 GetTired < 15 FireReadyMT < 10 UnitsAmount > 31
  480. do EnableFire 92
  481. if GetLastCommTime > 0 GetStandTime < 1 IsMTStandGround = 0 St_Attack = 1 St_EnableFire = 0 FireReadyMT > 30 GetFireReady > 20 MoralMT > 130 DistToMT < 600 KillAmoMT > 0 GetMTForestDensity < 40 UnitsAmount > 31
  482. do EnableFire 93
  483. if GetLastCommTime > 0 GetStandTime < 1 IsMTStandGround = 1 St_Attack = 1 St_EnableFire = 0 FireReadyMT > 30 GetFireReady > 20 MoralMT > 130 DistToMT < 250 KillAmoMT > 0 GetMTForestDensity < 40 UnitsAmount > 31
  484. do EnableFire 93
  485. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 800 GetFireReady > 20 FireReadyMT > 15 Moral < 45 UnitsAmount > 31 UnitsAmountMT > 31
  486. do EnableFire 94
  487. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 450 GetFireReady > 20 FireReadyMT < 15 Moral < 55 UnitsAmount > 31 UnitsAmountMT > 31 FireDanger > 10
  488. do EnableFire 95
  489. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 700 GetFireReady > 20 FireReadyMT > 15 Moral < 45 UnitsAmount > 31 UnitsAmountMT < 31
  490. do OneLineShot 94
  491. if GetLastCommTime > 0 St_EnableFire = 0 GetStandTime < 1 Moral < 45 DistToMT < 750 GetFireReady > 10 FireReadyMT > 15 UnitsAmount > 31
  492. do EnableFire 95
  493. if GetLastCommTime > 0 St_EnableFire = 0 GetStandTime > 2 Moral < 45 DistToMT < 750 GetFireReady > 10 FireReadyMT > 15 UnitsAmount > 31
  494. do EnableFire 96
  495. if GetLastCommTime > 0 St_EnableFire = 0 Moral < 60 MoralMT > 180 DistToMT < 600 GetFireReady > 10 UnitsAmount > 31 St_LineFormation = 1
  496. do OneLineShot 97
  497. if GetLastCommTime > 0 St_EnableFire = 0 Moral < 60 MoralMT > 180 DistToMT < 900 GetFireReady > 10 FireReadyMT > 30 UnitsAmount > 31 UnitsAmountMT > 31
  498. do EnableFire 98
  499. if GetLastCommTime > 0 St_Attack = 0 St_EnableFire = 0 DistToMT < 350 FireReadyMT > 20 GetFireReady > 40 UnitsAmount > 31
  500. do EnableFire 99
  501. if GetLastCommTime > 0 St_Attack = 1 St_EnableFire = 0 DistToMT < 350 FireReadyMT > 20 GetFireReady > 40 UnitsAmount > 31
  502. do EnableFire 90
  503. if GetLastCommTime > 0 St_EnableFire = 0 Moral < 150 FireDanger > 240 DistToMT < 700 UnitsAmount > 31 GetFireReady > 20 
  504. do EnableFire 91
  505. if GetLastCommTime > 0 St_EnableFire = 0 Moral < 150 MoralMT < 120 FireDanger > 240 DistToMT < 600 UnitsAmount > 31 GetFireReady > 20 
  506. do EnableFire 92
  507. if GetLastCommTime > 0 IsMTStandGround = 1 St_EnableFire = 0 GetFireReady > 20 GetMTForestDensity < 40 MoralMTAfterFire < 35 UnitsAmount > 31 DistToMT < 800
  508. do EnableFire 93
  509. if GetLastCommTime > 0 IsMTStandGround = 1 St_EnableFire = 0 GetFireReady > 20 KillAmoMT > 15 GetMTForestDensity < 40 UnitsAmount > 31 DistToMT < 800
  510. do EnableFire 94
  511. if GetLastCommTime > 0 GetStandTime > 2 DistToMT < 600 St_EnableFire = 0 St_Reserv = 1 St_Attack = 0 GetFireReady > 80 UnitsAmount > 31
  512. do EnableFire 95
  513. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 250 GetFireReady > 40 FireReadyMT > 20 UnitsAmount > 31
  514. do EnableFire 96
  515. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 250 GetFireReady > 40 FireReadyMT < 10 GetMeleeForceDiff < 190 UnitsAmount > 31
  516. do EnableFire 97
  517. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 400 GetTired < 20 GetFireReady > 80 UnitsAmount > 31 IsMTStandGround = 0
  518. do EnableFire 98
  519. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 200 GetTired < 20 GetFireReady > 80 UnitsAmount > 31 IsMTStandGround = 1
  520. do EnableFire 98
  521. if GetLastCommTime > 0 GetStandTime < 1 St_Attack = 1 St_EnableFire = 0 DistToMT < 200 FireReadyMT < 5 GetFireReady > 40 GetMTForestDensity < 40 GetMeleeForceDiff < 190 UnitsAmount > 31
  522. do EnableFire 99
  523. if GetLastCommTime > 0 GetStandTime > 2 GetMTStandTime > 2 DistToMT < 750 St_Attack = 0 St_EnableFire = 0 GetFireReady > 60 KillAmoMT > 0 HaveReserv = 1 GetMTForestDensity < 40 UnitsAmount > 31 FireReadyMT > 70
  524. do EnableFire 90
  525. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 900 Moral < 60 MoralDiff > 150 GetFireReady > 80 FireReadyMT > 50 KillAmoMT > 0 GetMTForestDensity < 40 UnitsAmount > 31
  526. do EnableFire 91
  527. if GetLastCommTime > 0 DistToMT < 700 St_Attack = 0 St_EnableFire = 0 GetFireReady > 60 GetMTForestDensity < 40 KillAmoMT > 45 UnitsAmount > 31
  528. do EnableFire 92
  529. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 700 GetFireReady > 20 IsMTCannon = 1 KartechDanger > 20 UnitsAmount > 31
  530. do EnableFire 93
  531. if GetLastCommTime > 0 St_EnableFire = 0 Moral < 150 FireDanger > 100 DistToMT < 500 UnitsAmount > 31 GetFireReady > 60 
  532. do EnableFire 94
  533. if GetLastCommTime > 3 GetStandTime > 4 St_Attack = 0 DistToMT < 700 GetFireReady > 80 AngToMT > 24 IsMTStandGround = 0 UnitsAmount > 31
  534. do EnableFire 95
  535. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 0 DistToMT > 1000 GetFireReady > 30 GetAloneEnmUnits > 5 UnitsAmount > 31 St_LineFormation = 1
  536. do OneLineShot 99
  537. if GetLastCommTime > 0 St_LineFormation = 1 GetStandTime > 2 IsInBatter > 0 GetTired > 70 DistToMT < 1400 FireForceDifference > 40 SumDangAndForce > 150 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900
  538. do AttackMT 82
  539. if GetLastCommTime > 0 St_LineFormation = 1 St_Attack = 0 GetStandTime > 2 DistToMT < 1000 GetTired > 40 IsStandGround = 0 UnitsAmount > 31 FireDanger < 140 GetMeleeForceDiff > 300 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 900
  540. do AttackMT 81
  541. if GetLastCommTime > 0 St_LineFormation = 1 St_Attack = 0 GetStandTime > 2 FireReadyMT < 30 GetFireReady > 80 DistToMT < 1000 GetTired > 40 UnitsAmount > 31 GetPolkCommand > 1 GetBarrierToMT < 180 GetFrontage > 900
  542. do AttackMT 82
  543. if GetLastCommTime > 0 St_LineFormation = 1 St_Attack = 0 GetStandTime > 2 FireReadyMT < 44 GetFireReady > 80 DistToMT < 1000 GetTired > 40 UnitsAmount > 31 GetPolkCommand > 1 GetBarrierToMT < 180 GetFrontage > 900
  544. do AttackMT 83
  545. if GetLastCommTime > 0 St_LineFormation = 1 St_Attack = 0 GetStandTime > 2 UnitsAmountMT < 80 UnitsAmount > 100 FireReadyMT < 50 GetFireReady > 50 DistToMT < 900 GetTired > 40 UnitsAmount > 31 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 900
  546. do AttackMT 84
  547. if GetLastCommTime > 0 St_LineFormation = 1 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 GetFireReady > 20 GetTired > 40 UnitsAmount > 31 DistToMT < 1000 FireDanger < 20 Encircle > 54 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 900
  548. do AttackMT 85
  549. /if GetLastCommTime > 0 St_LineFormation = 1 St_Attack = 0 GetStandTime > 2 GetFireReady > 80 DistToMT < 1000 DistToMT > 300 GetTired > 40 UnitsAmount > 31 FireForceDifference > -40 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 900
  550. /do AttackMT 86
  551. if GetLastCommTime > 0 St_LineFormation = 1 St_Attack = 0 GetStandTime > 2 GetMeleeForceDiff > 120 DistToMT < 1000 GetTired > 40 UnitsAmount > 31 FireForceDifference > 12 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 900
  552. do AttackMT 87
  553. if GetLastCommTime > 0 St_LineFormation = 1 GetStandTime > 2 St_Attack = 0 St_EnableFire = 0 GetFireReady > 80 DistToMT < 1000 UnitsAmount > 31 FireDanger < 10 GetTired > 40 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 900
  554. do AttackMT 88
  555. if GetLastCommTime > 0 St_LineFormation = 1 St_Attack = 0 GetStandTime > 2 DistToMT < 700 Moral > 70 St_EnableFire = 0 FireReadyMT < 20 HaveReserv = 1 DistToMT < 1000 UnitsAmount > 31 GetTired > 30 GetPolkCommand > 2 GetBarrierToMT < 180 GetFrontage > 900
  556. do AttackMT 89
  557. if GetLastCommTime > 0 St_LineFormation = 1 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 DistToMT < 1000 UnitsAmountMT < 31 GetTired > 40 MoralMT > 700 UnitsAmount > 31 GetBarrierToMT < 180
  558. do AttackMT 80
  559. if GetLastCommTime > 0 St_LineFormation = 1 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 DistToMT < 900 UnitsAmountMT < 31 MoralMT < 130 UnitsAmount > 31 GetBarrierToMT < 180 FireReadyMT < 10 GetFireReady > 80 FireDanger < 35
  560. do AttackMT 81
  561. if GetLastCommTime > 3 DistToMT < 1300 St_EnableFire = 0 GetFireReady > 60 GetMTForestDensity < 40 MoralMTAfterFire < 40 UnitsAmount > 31 GetTired > 50 GetBarrierToMT < 180 IsMTStandGround = 1 GetPolkCommand > 6
  562. do AttackMT 82
  563. if GetLastCommTime > 3 DistToMT < 1300 St_EnableFire = 0 GetFireReady > 60 GetMTForestDensity < 40 MoralMTAfterFire < 40 UnitsAmount > 31 GetTired > 50 GetBarrierToMT < 180 GetPolkCommand < 7
  564. do AttackMT 82
  565.  
  566. if GetStandTime > 15 GetLastCommTime > 5 St_LineFormation = 1 St_Attack = 0 GetNApparentEnemyForm < 2 GetNApparentFriendlyForm > 1 GetFireReady > 80 GetTired > 60 DistToMT < 1200 GetBarrierToMT < 180 UnitsAmount > 31 UnitsAmountMT > 31
  567. do AttackMT 80
  568. if GetStandTime > 15 GetLastCommTime > 5 St_LineFormation = 1 St_Attack = 0 GetNApparentEnemyForm < 3 GetNApparentFriendlyForm > 2  GetFireReady > 80 GetTired > 60 DistToMT < 1200 GetBarrierToMT < 180 UnitsAmount > 31 UnitsAmountMT > 31
  569. do AttackMT 82
  570. if GetStandTime > 15 GetLastCommTime > 5 St_LineFormation = 1 St_Attack = 0 GetNApparentEnemyForm < 3 GetNApparentFriendlyForm > 1 GetPolkCommand > 6 GetFireReady > 80 GetTired > 60 DistToMT < 1200 GetBarrierToMT < 180 UnitsAmount > 31 UnitsAmountMT > 31
  571. do AttackMT 83
  572. if GetStandTime > 15 GetLastCommTime > 5 St_LineFormation = 1 St_Attack = 0 GetNApparentEnemyForm < 4 GetNApparentFriendlyForm > 3  GetFireReady > 80 GetTired > 60 DistToMT < 1200 GetBarrierToMT < 180 UnitsAmount > 31 UnitsAmountMT > 31
  573. do AttackMT 84
  574. if GetStandTime > 15 GetLastCommTime > 5 St_LineFormation = 1 St_Attack = 0 GetNApparentEnemyForm < 4 GetNApparentFriendlyForm > 2 GetPolkCommand > 6 GetFireReady > 80 GetTired > 60 DistToMT < 1200 GetBarrierToMT < 180 UnitsAmount > 31 UnitsAmountMT > 31
  575. do AttackMT 85
  576. if GetStandTime > 15 GetLastCommTime > 5 St_LineFormation = 1 St_Attack = 0 GetNApparentEnemyForm < 5 GetNApparentFriendlyForm > 4  GetFireReady > 80 GetTired > 60 DistToMT < 1200 GetBarrierToMT < 180 UnitsAmount > 31 UnitsAmountMT > 31
  577. do AttackMT 86
  578. if GetStandTime > 15 GetLastCommTime > 5 St_LineFormation = 1 St_Attack = 0 GetNApparentEnemyForm < 5 GetNApparentFriendlyForm > 3 GetPolkCommand > 6 GetFireReady > 80 GetTired > 60 DistToMT < 1200 GetBarrierToMT < 180 UnitsAmount > 31 UnitsAmountMT > 31
  579. do AttackMT 87
  580.  
  581. if GetLastCommTime > 0 St_SquareFormation = 1 GetStandTime > 2 IsInBatter > 0 GetTired > 70 DistToMT < 1400 FireForceDifference > 40 SumDangAndForce > 150 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 240
  582. do AttackMT 82
  583. if GetLastCommTime > 0 GetNApparentEnemyForm < GetNApparentFriendlyForm St_SquareFormation = 1 St_Attack = 0 St_Attack = 0 GetFOOD < 5000 DistToMT < 3000 GetTired > 40 UnitsAmount > 31 GetBarrierToMT < 180
  584. do AttackMT 1
  585. if GetLastCommTime > 0 GetNApparentEnemyForm < GetNApparentFriendlyForm St_LineFormation = 1 St_Attack = 0 St_Attack = 0 GetFOOD < 5000 DistToMT < 3000 GetTired > 40 UnitsAmount > 31 GetBarrierToMT < 180
  586. do AttackMT 1
  587. if GetLastCommTime > 0 St_SquareFormation = 1 St_Attack = 0 GetStandTime > 2 DistToMT < 1000 GetTired > 40 IsStandGround = 0 UnitsAmount > 31 FireDanger < 140 GetMeleeForceDiff > 300 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 240
  588. do AttackMT 81
  589. if GetLastCommTime > 0 St_SquareFormation = 1 St_Attack = 0 GetStandTime > 2 FireReadyMT < 30 GetFireReady > 80 DistToMT < 1000 GetTired > 40 UnitsAmount > 31 GetPolkCommand > 0 GetBarrierToMT < 180 GetFrontage > 240
  590. do AttackMT 82
  591. if GetLastCommTime > 0 St_SquareFormation = 1 St_Attack = 0 GetStandTime > 2 FireReadyMT < 44 GetFireReady > 80 DistToMT < 1000 GetTired > 40 UnitsAmount > 31 GetPolkCommand > 0 GetBarrierToMT < 180 GetFrontage > 240
  592. do AttackMT 83
  593. if GetLastCommTime > 0 St_SquareFormation = 1 St_Attack = 0 GetStandTime > 2 UnitsAmountMT < 80 UnitsAmount > 100 FireReadyMT < 50 GetFireReady > 50 DistToMT < 900 GetTired > 40 UnitsAmount > 31 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 240
  594. do AttackMT 84
  595. if GetLastCommTime > 0 St_SquareFormation = 1 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 GetFireReady > 20 GetTired > 40 UnitsAmount > 31 DistToMT < 1000 FireDanger < 20 Encircle > 54 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 240
  596. do AttackMT 85
  597. /if GetLastCommTime > 0 St_SquareFormation = 1 St_Attack = 0 GetStandTime > 2 GetFireReady > 80 DistToMT < 1000 DistToMT > 300 GetTired > 40 UnitsAmount > 31 FireForceDifference > -40 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 240
  598. /do AttackMT 86
  599. if GetLastCommTime > 0 St_SquareFormation = 1 St_Attack = 0 GetStandTime > 2 GetMeleeForceDiff > 120 DistToMT < 1000 GetTired > 40 UnitsAmount > 31 FireForceDifference > 12 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 240
  600. do AttackMT 87
  601. if GetLastCommTime > 0 St_SquareFormation = 1 GetStandTime > 2 St_Attack = 0 St_EnableFire = 0 GetFireReady > 80 DistToMT < 1000 UnitsAmount > 31 FireDanger < 10 GetTired > 40 GetPolkCommand > 5 GetBarrierToMT < 180 GetFrontage > 240
  602. do AttackMT 88
  603. if GetLastCommTime > 0 St_SquareFormation = 1 St_Attack = 0 GetStandTime > 2 DistToMT < 700 Moral > 70 St_EnableFire = 0 FireReadyMT < 20 HaveReserv = 1 DistToMT < 1000 UnitsAmount > 31 GetTired > 30 GetPolkCommand > 2 GetBarrierToMT < 180 GetFrontage > 240
  604. do AttackMT 89
  605. if GetLastCommTime > 0 St_SquareFormation = 1 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 DistToMT < 1000 UnitsAmountMT < 31 GetTired > 40 MoralMT > 700 UnitsAmount > 31 GetBarrierToMT < 180
  606. do AttackMT 80
  607. if GetLastCommTime > 2 DistInFront > 300 St_Attack = 0 St_Reserv = 1 DistToMT < 600 UnitsAmount > 31 UnitsAmountMT < 31 IsMTStandGround = 0
  608. do AttackMT 81
  609. if GetLastCommTime > 2 DistInFront > 300 GetFireReady > 80 St_Attack = 0 St_Reserv = 1 DistToMT < 600 UnitsAmount > 31 UnitsAmountMT < 31
  610. do AttackMT 82
  611.  
  612. if GetLastCommTime > 0 GetLastCommTime > 3 GetStandTime < 1 GetTired < 15 DistToMT > 400 UnitsAmount > 31
  613. do Stop 140
  614. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 3 St_March = 1 DistToAim < 200 UnitsAmount > 31
  615. do Stop 150
  616. if GetLastCommTime > 0 FireForceDifference < 40 SumDangAndForce < 150 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 UnitsAmount > 31 GetBarrierToMT < 180
  617. do MoveBack 60
  618. if GetLastCommTime > 0 FireForceDifference < 40 SumDangAndForce < 150 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 UnitsAmount > 31 GetBarrierToMT < 180
  619. do MoveBack 60
  620. if GetLastCommTime > 0 St_Attack = 1 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  621. do MoveBack 62
  622. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  623. do MoveBack 62
  624. if GetLastCommTime > 0 St_Attack = 1 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 250 GetTired > 30 GetBarrierToMT < 180
  625. do MoveBack 63
  626. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 250 GetTired > 30 GetBarrierToMT < 180
  627. do MoveBack 63
  628. if GetLastCommTime > 0 St_Attack = 1 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  629. do MoveBack 65
  630. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  631. do MoveBack 65
  632. if GetLastCommTime > 0 St_Attack = 1 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 250 GetTired > 30 GetBarrierToMT < 180
  633. do MoveBack 66
  634. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 250 GetTired > 30 GetBarrierToMT < 180
  635. do MoveBack 66
  636. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 700 GetFireReady < 5 FireReadyMT > 60 GetTired > 20 UnitsAmount > 31 GetBarrierToMT < 180
  637. do MoveBack 67
  638. if GetLastCommTime > 0 St_Attack = 1 GetFireReady < 5 FireDanger > 40 DistToMT < 1000 Moral < 50 UnitsAmountMT > 31 UnitsAmount > 31 GetBarrierToMT < 180
  639. do MoveBack 68
  640. if GetLastCommTime > 0 GetLastCommTime > 4 GetFireReady < 5 FireDanger > 40 DistToMT < 1000 Moral < 50 UnitsAmountMT > 31 UnitsAmount > 31 GetBarrierToMT < 180
  641. do MoveBack 68
  642. if GetLastCommTime > 0 IsStandGround = 0 GetStandTime > 2 GetFireReady < 5 DistToMT < 800 DistToMT > 300 FireReadyMT > 90 UnitsAmountMT > 31 GetBarrierToMT < 180 UnitsAmount > 31
  643. do MoveBack 69
  644. if GetLastCommTime > 0 GetLastCommTime > 5 IsStandGround = 0 St_Attack = 0 Encircle > 54 FireDanger > 120 UnitsAmount > 31 GetFireReady < 30 GetBarrierToMT < 180
  645. do MoveBack 60
  646. if GetLastCommTime > 0 IsStandGround = 1 St_Attack = 0 Encircle > 90 FireDanger > 100 UnitsAmount > 31 GetFireReady < 30 GetBarrierToMT < 180
  647. do MoveBack 61
  648. if GetLastCommTime > 0 St_Attack = 1 IsStandGround = 0 MoralDiff < 70 FireDanger > 100 DistToMT < 1200 DistToMT > 600 GetFireReady < 20 UnitsAmount > 31 GetBarrierToMT < 180
  649. do MoveBack 62
  650. if GetLastCommTime > 0 GetLastCommTime > 4 IsStandGround = 0 MoralDiff < 70 FireDanger > 100 DistToMT < 1200 DistToMT > 600 GetFireReady < 20 UnitsAmount > 31 GetBarrierToMT < 180
  651. do MoveBack 62
  652. if GetLastCommTime > 0 IsStandGround = 1 Moral < 120 MoralDiff < 70 FireDanger > 100 DistToMT < 1200 DistToMT > 600 GetFireReady < 20 UnitsAmount > 31 GetBarrierToMT < 180
  653. do MoveBack 63
  654. if GetLastCommTime > 0 St_Attack = 1 IsStandGround = 0 MoralDiff < 70 FireDanger > 100 DistToMT < 1200 DistToMT > 600 GetFireReady < 20 UnitsAmount > 31 GetBarrierToMT < 180
  655. do MoveBack 64
  656. if GetLastCommTime > 0 GetLastCommTime > 4 IsStandGround = 0 MoralDiff < 70 FireDanger > 100 DistToMT < 1200 DistToMT > 600 GetFireReady < 20 UnitsAmount > 31 GetBarrierToMT < 180
  657. do MoveBack 64
  658. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 950 DistToMT > 400 IsMTCannon = 1 KartechDanger > 20 UnitsAmount > 31 GetBarrierToMT < 180
  659. do MoveBack 65
  660. if GetLastCommTime > 0 DistToMT < 250 GetFireReady < 10 GetMeleeForceDiff < 90 UnitsAmount > 31
  661. do MoveBack 66
  662. /if GetLastCommTime > 0 St_EnableFire = 1 DistToMT > 1500 UnitsAmount > 31 GetAloneEnmUnits > 5
  663. /do DisableFire 30
  664. /if GetLastCommTime > 0 St_EnableFire = 1 GetFireReady < 2 UnitsAmount > 31
  665. /do DisableFire 31
  666. if GetLastCommTime > 0 GetLastCommTime > 4 St_Front = 1 DistToMT > 1000 GetFireReady < 5 HaveReserv = 1 UnitsAmountMT > 31 UnitsAmount > 31
  667. do Castle 20
  668. if GetLastCommTime > 0 GetLastCommTime > 4 St_Front = 1 DistToMT < 1000 GetFireReady < 5 HaveReserv = 1 FireReadyMT < 70 UnitsAmountMT > 31 UnitsAmount > 31
  669. do Castle 21
  670. /if GetLastCommTime > 3 IsMTStandGround = 1 FireReadyMT > 20 GetFireReady > 20 IsStandGround = 0 GetStandTime > 2 GetTired > 40 DistToMT < 1100 DistToMT > 500 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 1100
  671. /do TakeInTheRear 18
  672. /if GetLastCommTime > 3 St_Reserv = 1 GetStandTime > 20 IsStandGround = 0 GetFireReady > 20 GetStandTime > 2 GetTired > 40 DistToMT < 1100 DistToMT > 500 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 1100
  673. /do TakeInTheRear 19
  674. if GetLastCommTime > 0 GetStandTime < 1 St_EnableFire = 0 DistToMT > 1000 GetFireReady < 40 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  675. do AttackAloneEnmUnits 15
  676. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 0 DistToMT > 1000 GetFireReady < 40 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  677. do AttackAloneEnmUnits 15
  678. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 1 DistToMT > 1000 GetFireReady < 40 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  679. do AttackAloneEnmUnits 15
  680. if GetLastCommTime > 0 GetStandTime < 1 GetNGrenades > 2 DistToMT < 500 St_Attack = 1 UnitsAmount > 31 IsMTStandGround = 0 GetMTStandTime > 5
  681. do ThrowGrenade 120
  682. if GetLastCommTime > 0 GetStandTime > 2 GetNGrenades > 2 DistToMT < 500 UnitsAmount > 31 IsMTStandGround = 0 GetMTStandTime > 5
  683. do ThrowGrenade 120
  684.  
  685. if GetLastCommTime > 5 St_March = 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetFireReady > 80 GetTired > 50 UnitsAmount > 31 DistInReserv < 70 DistToMT < 2200 DistToMT > 600
  686. do KeepDistInReserv 13
  687. if GetLastCommTime > 5 St_March = 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetTired > 50 GetFireReady > 80 UnitsAmount > 31 DistInReserv > 130 DistToMT < 2200 DistToMT > 600
  688. do KeepDistInReserv 14
  689. if GetLastCommTime > 5 St_March = 0 GetStandTime > 5 St_Attack = 0 DistToMT < 2200 St_Front = 1 DistInFront > 130 GetFireReady > 80 GetTired > 50 UnitsAmount > 31 DistToMT > 600
  690. do KeepDistInFront 15
  691. if GetLastCommTime > 5 St_March = 0 GetStandTime > 5 St_Attack = 0 DistToMT < 2200 St_Front = 1 DistInFront < 70 GetFireReady > 80 GetTired > 50 UnitsAmount > 31 DistToMT > 600
  692. do KeepDistInFront 16
  693. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 900 GetFireReady > 80 GetTired > 40 AngToMT > 42 IsStandGround = 0 UnitsAmount > 31
  694. do TurnToMT 50
  695. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 GetFireReady > 70 IsStandGround = 0 AngToMT > 42 UnitsAmount > 31
  696. do TurnToMT 51
  697. if GetLastCommTime > 0 GetStandTime > 2 GetTired > 40 DistToMT < 900 GetFireReady > 70 IsStandGround = 1 AngToMT > 42 UnitsAmount > 31
  698. do TurnToMT 52
  699. if St_SquareFormation = 1 GetLastCommTime > 6 GetNApparentEnemyForm > GetNApparentFriendlyForm St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 3000 GetFireReady > 98 DistToAim > 200 UnitsAmount > 31 GetPolkCommand < 6
  700. do MoveToAim 40
  701. if St_SquareFormation = 0 GetLastCommTime > 6 GetNApparentEnemyForm > GetNApparentFriendlyForm St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 3000 GetFireReady > 98 DistToAim > 200 UnitsAmount > 31 GetPolkCommand < 6
  702. do FormateToSquare 42
  703. if St_SquareFormation = 1 GetLastCommTime > 7 St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 3000 GetFireReady > 98 DistToAim > 200 UnitsAmount > 31 GetPolkCommand < 6
  704. do MoveToAim 40
  705. if St_SquareFormation = 0 GetLastCommTime > 7 St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 3000 GetFireReady > 98 DistToAim > 200 UnitsAmount > 31 GetPolkCommand < 6
  706. do FormateToSquare 42
  707. if GetStandTime > 15 GetLastCommTime > 5 St_LineFormation = 1 St_Attack = 0 GetNApparentEnemyForm < 5 GetNApparentFriendlyForm > 4  GetFireReady > 80 GetTired > 60 DistToMT < 1200 GetBarrierToMT < 180 UnitsAmount > 31 UnitsAmountMT > 31
  708. do AttackMT 86
  709. if GetStandTime > 15 GetLastCommTime > 5 St_LineFormation = 1 St_Attack = 0 GetNApparentEnemyForm < 5 GetNApparentFriendlyForm > 3 GetPolkCommand > 6 GetFireReady > 80 GetTired > 60 DistToMT < 1200 GetBarrierToMT < 180 UnitsAmount > 31 UnitsAmountMT > 31
  710. do AttackMT 87
  711.  
  712. if St_SquareFormation = 1 GetLastCommTime > 6 St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 1250 GetFireReady > 98 DistToAim > 200 UnitsAmount > 31 GetPolkCommand > 5
  713. do MoveToAim 41
  714. if St_SquareFormation = 0 GetLastCommTime > 6 St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 1250 GetFireReady > 98 DistToAim > 200 UnitsAmount > 31 GetPolkCommand > 5
  715. do FormateToSquare 42
  716. if St_March = 1 DistToAim > 200 GetLastCommTime > 20 UnitsAmount > 31
  717. do MoveToAim 91
  718. if GetLastCommTime > 1 St_March = 1 GetTired < 10 UnitsAmount > 31
  719. do Stop 50
  720. if GetLastCommTime > 5 GetStandTime > 2 St_March = 0 GetDistToFriendlyForm < 100 GetTired > 40 St_Attack = 0 DistToMT < 1500 UnitsAmount > 31 DistToMT > 600
  721. do KeepDistInReserv 17
  722.  
  723. if GetLastCommTime > 5 GetStandTime > 2 St_March = 0 GetDistToFriendlyForm < 100 GetTired > 40 St_Attack = 0 St_Reserv = 1 HaveReserv = 1 GetLastCommTime > 5 DistToMT < 2000 UnitsAmount > 31 DistToMT > 600
  724. do KeepDistInFront 18
  725. if GetLastCommTime > 0 GetLastCommTime > 5 St_March = 0 DistToMT < 2000 GetTired > 40 St_Attack = 0 St_Reserv = 1 DistInFront > 150 GetLastCommTime > 5 UnitsAmount > 31 DistToMT < 600
  726. do KeepDistInFront 19
  727. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 600 DistToMT < 2000 GetStandTime > 12 GetTired > 70 GetFireReady > 80 Moral > 75 IsStandGround = 0 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900 GetPolkCommand > 4
  728. do StepForward 11
  729. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 600 DistToMT < 2000 GetStandTime > 25 GetTired > 70 GetFireReady > 80 Moral > 75 IsStandGround = 1 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900 GetPolkCommand > 6
  730. do StepForward 12
  731. if GetLastCommTime > 6 DistToMT > 600 DistToMT < 1500 GetStandTime > 10 GetTired > 70 GetFireReady > 80 IsStandGround = 0 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900 GetPolkCommand > 4
  732. do StepForward 13
  733. if GetLastCommTime > 6 DistToMT > 600 DistToMT < 1500 GetStandTime > 10 GetTired > 70 GetFireReady > 80 IsStandGround = 0 UnitsAmount > 31 GetBarrierToMT < 180 GetPolkCommand > 6
  734. do StepForward 14
  735. //ment
  736. if St_EnableFire = 0 DistToMT < 400 GetFireReady > 10 UnitsAmount < 31
  737. do EnableFire 1500
  738. /if GetLastCommTime > 5 DistToMT > 900 UnitsAmount < 31 
  739. /do FormateToLine 60
  740. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 350 GetFireReady > 10 UnitsAmount < 31
  741. do EnableFire 60
  742. if GetLastCommTime > 0 St_Attack = 0 St_EnableFire = 0 DistToMT < 250 FireReadyMT < 10 GetFireReady > 10 GetMTForestDensity < 40 UnitsAmount < 31
  743. do EnableFire 60
  744. if GetLastCommTime > 0 St_Attack = 0 St_EnableFire = 0 DistToMT < 250 FireReadyMT < 10 GetFireReady > 10 GetMTForestDensity < 40 UnitsAmount < 31
  745. do EnableFire 60
  746. if GetLastCommTime > 0 St_Attack = 1 St_EnableFire = 0 DistToMT < 250 FireReadyMT < 10 GetFireReady > 10 GetMTForestDensity < 40 UnitsAmount < 31
  747. do EnableFire 60
  748. if GetLastCommTime > 3 GetStandTime < 1 St_EnableFire = 0 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount < 31 GetTired > 40 GetGameTime > 30
  749. do AttackAloneEnmUnits 133
  750. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 0 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount < 31 GetTired > 40 GetGameTime > 30
  751. do AttackAloneEnmUnits 133
  752. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 1 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount < 31 GetTired > 40 GetGameTime > 30
  753. do AttackAloneEnmUnits 133
  754. if GetLastCommTime > 0 GetAloneEnmUnits > 15 DistToMT > 900 St_EnableFire = 0 GetFireReady > 10 GetMTForestDensity < 40 UnitsAmount < 31
  755. do EnableFire 44
  756. if GetLastCommTime > 0 GetLastCommTime > 1 St_Attack = 0 UnitsAmount < 31 DistToMT < 450 DistToAim < 1200
  757. do MeleeAttack 64
  758. if GetLastCommTime > 0 GetLastCommTime > 2 St_Attack = 0 UnitsAmount < 31 DistToMT < 1200 DistToAim < 1200 GetMTStandTime > 2 GetGameTime > 30 GetBarrierToMT < 180
  759. do ArmAttack 61
  760. if GetLastCommTime > 0 GetLastCommTime > 2 St_Attack = 0 UnitsAmount < 31 DistToMT < 1200 DistToAim < 800 GetMTStandTime > 2 GetGameTime > 30 GetBarrierToMT < 180
  761. do AttackMT 62
  762. if GetLastCommTime > 0 GetLastCommTime > 2 St_Attack = 0 UnitsAmount < 31 DistToMT < 1200 GetMTStandTime > 2 GetGameTime > 30 GetBarrierToMT < 180 IsMTStandGround = 0
  763. do ArmAttack 63
  764. if GetLastCommTime > 0 GetLastCommTime > 15 St_Attack = 0 UnitsAmount < 31 DistToMT < 1200 DistToAim < 800 GetMTStandTime > 2 GetBarrierToMT < 180
  765. do AttackMT 64
  766. if GetLastCommTime > 0 St_EnableFire = 0 GetFireReady > 10 KillAmoMT > 10 UnitsAmount < 31 FireReadyMT > 70
  767. do EnableFire 71
  768. if GetLastCommTime > 0 GetLastCommTime > 4 GetFireReady < 5 DistToMT < 250 UnitsAmount < 31 GetBarrierToMT < 180
  769. do MeleeAttack 40
  770. if DistToAim > 800 GetLastCommTime > 2 UnitsAmount < 31 
  771. do MoveToAim 610
  772. if DistToAim > 500 DistToMT < 1400 GetLastCommTime > 8 UnitsAmount < 31 
  773. do MoveToAim 609
  774. if GetLastCommTime > 0 St_March = 0 DistToAim > 900 GetLastCommTime > 12 UnitsAmount < 31 
  775. do MoveToAim 60
  776. if GetLastCommTime > 0 St_March = 0 DistToAim > 800 GetLastCommTime > 7 UnitsAmount < 31 GetFireReady > 10
  777. do MoveToAim 20
  778. if GetLastCommTime > 4 St_March = 0 DistToAim > 600 GetLastCommTime > 45 UnitsAmount < 31 GetFireReady > 10
  779. do MoveToAim 21
  780. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 700 GetFireReady > 10 UnitsAmount < 31 DistToAim > 800
  781. do EnableFire 80
  782. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 450 GetFireReady > 10 UnitsAmount < 31
  783. do EnableFire 81
  784. if GetLastCommTime > 0 GetLastCommTime > 1 St_EnableFire = 0 St_ReadyToFire = 0 DistToMT < 1100 UnitsAmount < 31
  785. do SetReadyToFire 160
  786. if GetLastCommTime > 0 St_ReadyToFire = 1 DistToMT > 1300 GetAloneEnmUnits > 5 UnitsAmount < 31
  787. do SetNotReadyToFire 6
  788. if GetLastCommTime > 0 St_EnableFire = 1 DistToMT > 800 UnitsAmount < 31 GetAloneEnmUnits < 5
  789. do DisableFire 5
  790. if GetLastCommTime > 0 St_EnableFire = 1 GetFireReady < 5 UnitsAmount < 31 
  791. do DisableFire 5
  792. if GetLastCommTime > 0 GetLastCommTime > 4 St_Front = 1 DistToMT > 1000 GetFireReady < 15 HaveReserv = 1 UnitsAmountMT > 31 UnitsAmount < 31
  793. do Castle 75
  794. if GetLastCommTime > 0 GetLastCommTime > 4 St_Front = 1 DistToMT < 1000 GetFireReady < 15 HaveReserv = 1 FireReadyMT < 70 UnitsAmountMT > 31 UnitsAmount < 31 
  795. do Castle 75
  796. if GetLastCommTime > 0 GetLastCommTime > 1 GetStandTime > 2 DistToMT < 500 GetFireReady > 90 KillAmoMT > 1 UnitsAmount < 31 
  797. do OneLineShot 15
  798. if GetLastCommTime > 0 GetLastCommTime > 1 GetStandTime > 2 DistToMT < 400 GetFireReady < 70 KillAmoMT > 1 UnitsAmount < 31 
  799. do OneLineShot 15
  800. if GetLastCommTime > 0 GetLastCommTime > 1 GetStandTime > 2 DistToMT < 300 GetFireReady < 40 KillAmoMT > 1 UnitsAmount < 31 
  801. do OneLineShot 15
  802. if GetLastCommTime > 0 GetStandTime > 2 St_Reserv = 1 St_Attack = 0 DistInReserv < 70 GetFireReady > 80 GetTired > 80 UnitsAmount < 31 DistToMT < 500
  803. do KeepDistInReserv 15
  804. if GetLastCommTime > 0 GetStandTime > 2 St_Reserv = 1 St_Attack = 0 DistInReserv > 130 GetTired > 50 GetFireReady > 80 UnitsAmount < 31 DistToMT < 500
  805. do KeepDistInReserv 15
  806. if GetLastCommTime > 0 GetStandTime > 6 St_Attack = 0 DistToMT > 600 DistToMT < 1300 GetTired > 40 AngToMT > 16 UnitsAmount < 31
  807. do TurnToMT 16
  808. if GetLastCommTime > 0 GetStandTime > 7 St_Attack = 0 DistToMT < 1300 GetFireReady > 80 GetTired > 40 AngToMT > 42 UnitsAmount < 31
  809. do TurnToMT 10
  810. if GetLastCommTime > 0 GetStandTime > 8 St_Attack = 0 GetTired > 40 AngToMT > 42 DistToMT < 1400 GetFireReady > 70 UnitsAmount < 31
  811. do TurnToMT 11
  812. if GetLastCommTime > 0 GetStandTime > 9 St_Attack = 0 DistToMT < 1300 GetFireReady > 80 GetTired > 40 AngToMT > 50 UnitsAmount < 31
  813. do TurnToMT 12
  814. if GetLastCommTime > 0 GetStandTime > 10 St_Attack = 0 GetTired > 40 AngToMT > 50 DistToMT < 1400 GetFireReady > 70 UnitsAmount < 31
  815. do TurnToMT 13
  816. if GetLastCommTime > 24 St_Attack = 0 DistToMT > 1200 DistToAim < 450 DistToAim < 2000 UnitsAmount < 31
  817. do StepForward 11
  818. if GetLastCommTime > 24 St_Attack = 0 DistToMT > 1200 DistToAim > 450 DistToAim < 2000 UnitsAmount < 31
  819. do MoveToAim 11
  820. #
  821. #PEHOTASTRELKI UnitVol(EG) 
  822. if GetMeleeForceDiff > 180 St_Attack = 0 GetLastCommTime > 0 St_KareFormation = 0 St_Attack = 0 GetTired < 25 DistToMT < 1600 DistToMT > 600 GetPolkCommand < 4
  823. do FormateToKare 141
  824. if GetLastCommTime > 0 St_KareFormation = 1 St_Attack = 0 GetTired > 95 GetStandTime > 9 DistToMT > 600
  825. do FormateToLine 143
  826. if GetLastCommTime > 0 St_March = 1 DistToMT < 1250 St_LineFormation = 0 St_KareFormation = 0 UnitsAmount > 31 UnitsAmountMT > 31
  827. do FormateToLine 112
  828. if GetLastCommTime > 0 St_March = 0 DistToMT > 600 DistToMT < 1250 St_LineFormation = 0 UnitsAmount > 31 UnitsAmountMT > 31
  829. do FormateToLine 112
  830. /OnlyForCampaign/
  831. if GetLastCommTime > 0 GetPolkCommand > 3 St_March = 1 DistToMT < 1250 St_LineFormation = 0 St_KareFormation = 0 UnitsAmount > 31 UnitsAmountMT > 31
  832. do FormateToLine 112
  833. if GetLastCommTime > 0 GetPolkCommand > 3 St_March = 0 DistToMT > 600 DistToMT < 1250 St_LineFormation = 0 UnitsAmount > 31 UnitsAmountMT > 31
  834. do FormateToLine 112
  835. if GetLastCommTime > 0 St_KareFormation = 0 St_LineFormation = 0 DistToMT < 3000 GetTired > 20 UnitsAmount > 31 GetPolkCommand < 6 UnitsAmountMT > 31
  836. do FormateToLine 113
  837. /OnlyForCampaign/
  838. /if GetLastCommTime > 0 St_KareFormation = 0 St_LineFormation = 0 DistToMT < 950 GetTired > 20 UnitsAmount > 31 GetFrontage > 600
  839. /do FormateToLine 111
  840. /if GetLastCommTime > 0 St_KareFormation = 0 St_LineFormation = 0 DistToMT < 950 GetTired > 20 UnitsAmount > 31 GetFrontage < 600
  841. /do FormateToKare 110
  842.  
  843. if GetStandTime > 1 GetLastCommTime > 1 St_ReadyToFire = 0 DistToMT < 1200 UnitsAmount > 31
  844. do SetReadyToFire 600
  845. if GetLastCommTime > 0 St_ReadyToFire = 1 DistToMT > 1500 GetAloneEnmUnits > 5 UnitsAmount > 31
  846. do SetNotReadyToFire 45
  847. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 950 Moral > 45 GetTired > 40 IsStandGround = 0 UnitsAmount > 31 FireDanger < 20 GetMeleeForceDiff > 180 GetBarrierToMT < 180
  848. do ArmAttack 100
  849. if GetLastCommTime > 0 GetLastCommTime > 4 GetTired > 40 DistToMT < 950 UnitsAmount > 70 IsStandGround = 0 FireDanger < 10 GetMeleeForceDiff > 90 GetBarrierToMT < 180
  850. do ArmAttack 101
  851. if GetLastCommTime > 0 DistToMT < 250 IsStandGround = 0 UnitsAmount > 31 GetBarrierToMT < 180 IsMTStandGround = 0
  852. do MeleeAttack 102
  853. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 1200 UnitsAmountMT < 31 GetTired > 60 Moral > 40 UnitsAmount > 31 GetBarrierToMT < 180
  854. do ArmAttack 103
  855. if GetLastCommTime > 0 GetLastCommTime > 4 FireReadyMT > 80 MoralMT < 38 DistToMT < 250 Moral > 45 IsStandGround = 0 UnitsAmount > 31 GetBarrierToMT < 180 IsMTStandGround = 0
  856. do MeleeAttack 104
  857. if GetLastCommTime > 0 IsStandGround = 0 GetStandTime > 5 DistToMT < 250 UnitsAmount > 31 IsMTStandGround = 0
  858. do MeleeAttack 105
  859. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT < 1000 FireForceDifference > -40 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900
  860. do AttackMT 80
  861. if GetLastCommTime > 0 St_Attack = 0 St_Attack = 0 GetFOOD < 10 DistToMT < 3000 UnitsAmount > 31 GetBarrierToMT < 180
  862. do AttackMT 1
  863. if GetLastCommTime > 0 FireReadyMT < 60 St_Attack = 0 GetStandTime > 2 DistToMT < 1000 GetTired > 40 IsStandGround = 0 UnitsAmount > 31 FireDanger < 140 GetMeleeForceDiff > 300 GetBarrierToMT < 180 GetFrontage > 900
  864. do AttackMT 81
  865. if GetLastCommTime > 0 IsStandGround = 0 FireReadyMT < 60 St_Attack = 0 GetStandTime > 2 GetMeleeForceDiff > 120 DistToMT < 1000 GetTired > 40 UnitsAmount > 31 FireForceDifference > 12 GetBarrierToMT < 180 GetFrontage > 900
  866. do AttackMT 87
  867. if GetLastCommTime > 0 IsStandGround = 0 St_Attack = 0 GetStandTime > 2 DistToMT < 700 Moral > 70 St_EnableFire = 0 FireReadyMT < 20 HaveReserv = 1 DistToMT < 1000 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900
  868. do AttackMT 89
  869. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 DistToMT < 1000 UnitsAmountMT < 31 GetTired > 60 MoralMT > 700 UnitsAmount > 31 GetBarrierToMT < 180
  870. do AttackMT 80
  871. if GetLastCommTime > 0 GetLastCommTime > 4 GetStandTime < 1 St_Attack = 0 GetTired < 15 DistToMT > 400 UnitsAmount > 31
  872. do Stop 140
  873. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 4 St_March = 1 DistToAim < 200 UnitsAmount > 31
  874. do Stop 150
  875. if GetLastCommTime > 10 GetTired < 10 UnitsAmount > 31 DistToMT > 1000
  876. do Stop 50
  877. if HaveReserv = 0 GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 UnitsAmount > 31 GetBarrierToMT < 180
  878. do MoveBack 60
  879. if HaveReserv = 0 GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 UnitsAmount > 31 GetBarrierToMT < 180
  880. do MoveBack 61
  881. if HaveReserv = 0 GetLastCommTime > 0 St_Attack = 1 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  882. do MoveBack 62
  883. if HaveReserv = 0 GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  884. do MoveBack 62
  885. if HaveReserv = 0 GetLastCommTime > 0 St_Attack = 1 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  886. do MoveBack 63
  887. if HaveReserv = 0 GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  888. do MoveBack 63
  889. /if GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 UnitsAmount > 31 GetBarrierToMT < 180
  890. /do MoveBack 64
  891. if HaveReserv = 0 GetLastCommTime > 0 St_Attack = 1 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  892. do MoveBack 65
  893. if HaveReserv = 0 GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  894. do MoveBack 65
  895. if HaveReserv = 0 GetLastCommTime > 0 St_Attack = 1 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  896. do MoveBack 66
  897. if HaveReserv = 0 GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  898. do MoveBack 66
  899. if HaveReserv = 0 IsStandGround = 0 GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 700 GetFireReady > 100 GetTired > 10 UnitsAmount > 31 GetBarrierToMT < 180
  900. do MoveBack 67
  901. if HaveReserv = 0 GetLastCommTime > 0 St_Attack = 1 FireDanger > 40 DistToMT < 1000 Moral < 50 UnitsAmountMT > 31 UnitsAmount > 31 GetBarrierToMT < 180
  902. do MoveBack 68
  903. if HaveReserv = 0 GetLastCommTime > 0 IsStandGround = 0 GetStandTime > 2 DistToMT < 800 DistToMT > 300 FireDanger > 100 UnitsAmountMT > 31 UnitsAmount > 31 GetBarrierToMT < 180
  904. do MoveBack 69
  905. if HaveReserv = 0 GetLastCommTime > 0 GetLastCommTime > 4 IsStandGround = 0 St_Attack = 0 Encircle > 54 FireDanger > 100 UnitsAmount > 31 GetBarrierToMT < 180
  906. do MoveBack 60
  907. if HaveReserv = 0 GetLastCommTime > 0 IsStandGround = 1 St_Attack = 0 Encircle > 90 FireDanger > 100 UnitsAmount > 31 GetBarrierToMT < 180
  908. do MoveBack 61
  909. if HaveReserv = 0 GetLastCommTime > 0 IsStandGround = 1 Moral < 120 MoralDiff < 70 FireDanger > 100 DistToMT < 1000 DistToMT > 600 UnitsAmount > 31 GetBarrierToMT < 180
  910. do MoveBack 63
  911. if HaveReserv = 0 GetLastCommTime > 0 St_Attack = 1 IsStandGround = 0 Moral < 80 MoralDiff < 70 FireDanger > 100 DistToMT < 1000 DistToMT > 600 UnitsAmount > 31 GetBarrierToMT < 180
  912. do MoveBack 64
  913. if HaveReserv = 0 GetLastCommTime > 0 GetLastCommTime > 4 IsStandGround = 0 Moral < 80 MoralDiff < 70 FireDanger > 100 DistToMT < 1000 DistToMT > 600 UnitsAmount > 31 GetBarrierToMT < 180
  914. do MoveBack 64
  915. if HaveReserv = 0 GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 950 DistToMT > 400 IsMTCannon = 1 KartechDanger > 20 UnitsAmount > 31 GetBarrierToMT < 180
  916. do MoveBack 65
  917. if St_SquareFormation = 1 GetLastCommTime > 0 St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 1000 DistToAim > 200 UnitsAmount > 31
  918. do MoveToAim 40
  919. if St_SquareFormation = 1 GetLastCommTime > 0 St_Attack = 0 St_March = 0 GetTired > 60 DistToAim > 200 UnitsAmount > 31 DistToMT > 1250
  920. do MoveToAim 41
  921. if St_SquareFormation = 1 GetLastCommTime > 0 St_March = 1 DistToAim > 200 GetLastCommTime > 20 UnitsAmount > 31
  922. do MoveToAim 91
  923. if St_SquareFormation = 0 GetLastCommTime > 0 St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 1250 DistToAim > 200 UnitsAmount > 31
  924. do FormateToSquare 42
  925. if St_SquareFormation = 0 GetLastCommTime > 0 St_Attack = 0 St_March = 0 GetTired > 60 DistToAim > 200 UnitsAmount > 31 DistToMT > 1250
  926. do FormateToSquare 43
  927. if St_SquareFormation = 0 GetLastCommTime > 0 St_March = 1 DistToAim > 200 GetLastCommTime > 20 UnitsAmount > 31
  928. do FormateToSquare 94
  929. if GetLastCommTime > 0 GetStandTime < 1 St_EnableFire = 0 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  930. do AttackAloneEnmUnits 15
  931. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 0 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  932. do AttackAloneEnmUnits 15
  933. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 1 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  934. do AttackAloneEnmUnits 15
  935. if GetLastCommTime > 0 GetStandTime < 1 GetNGrenades > 2 DistToMT < 500 St_Attack = 1 UnitsAmount > 31 IsMTStandGround = 0 GetMTStandTime > 20
  936. do ThrowGrenade 120
  937. if GetLastCommTime > 0 GetStandTime > 2 GetNGrenades > 2 DistToMT < 500 UnitsAmount > 31 IsMTStandGround = 0 GetMTStandTime > 20
  938. do ThrowGrenade 120
  939.  
  940. if GetLastCommTime > 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetTired > 50 UnitsAmount > 31 DistInReserv < 70 DistToMT < 2200 DistToMT > 500
  941. do KeepDistInReserv 13
  942. if GetLastCommTime > 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetTired > 50 UnitsAmount > 31 DistInReserv > 130 DistToMT < 2200 DistToMT > 500
  943. do KeepDistInReserv 14
  944. if GetLastCommTime > 0 GetStandTime > 5 St_Attack = 0 DistToMT < 2200 DistToMT > 500 St_Front = 1 DistInFront > 130 GetTired > 50 UnitsAmount > 31 DistToMT < 500
  945. do KeepDistInFront 15
  946. if GetLastCommTime > 0 GetStandTime > 5 St_Attack = 0 DistToMT < 2200 DistToMT > 500 St_Front = 1 DistInFront < 70 GetTired > 50 UnitsAmount > 31 DistToMT < 500
  947. do KeepDistInFront 16
  948. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 900 GetTired > 40 AngToMT > 40 IsStandGround = 0 UnitsAmount > 31
  949. do TurnToMT 50
  950. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 IsStandGround = 0 AngToMT > 42 UnitsAmount > 31
  951. do TurnToMT 51
  952. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 IsStandGround = 1 AngToMT > 42 UnitsAmount > 31
  953. do TurnToMT 52
  954. if GetLastCommTime > 0 St_March = 1 DistToAim > 200 GetLastCommTime > 20 UnitsAmount > 31
  955. do MoveToAim 91
  956. if GetLastCommTime > 0 GetStandTime > 5 GetDistToFriendlyForm < 100 GetTired > 40 St_Attack = 0 GetLastCommTime > 5 UnitsAmount > 31 DistToMT < 500
  957. do KeepDistInReserv 17
  958. /if GetLastCommTime > 0 GetStandTime > 5 GetDistToFriendlyForm < 100 GetTired > 40 St_Attack = 0 St_Reserv = 1 HaveReserv = 1 GetLastCommTime > 5 UnitsAmount > 31 DistToMT < 500
  959. /do KeepDistInFront 18
  960. #
  961. #PEHOTASTRELKI UnitPar(RU)
  962. if GetMeleeForceDiff > 180 St_Attack = 0 GetLastCommTime > 0 St_KareFormation = 0 St_Attack = 0 GetTired < 25 DistToMT < 1600 DistToMT > 600 GetPolkCommand < 4
  963. do FormateToKare 141
  964. if GetLastCommTime > 0 St_KareFormation = 1 St_Attack = 0 GetTired > 95 GetStandTime > 9 DistToMT > 600
  965. do FormateToLine 143
  966. if GetLastCommTime > 0 St_March = 1 DistToMT < 1250 St_LineFormation = 0 St_KareFormation = 0 UnitsAmount > 31 UnitsAmountMT > 31
  967. do FormateToLine 112
  968. if GetLastCommTime > 0 St_March = 0 DistToMT > 600 DistToMT < 1250 St_LineFormation = 0 UnitsAmount > 31 UnitsAmountMT > 31
  969. do FormateToLine 112
  970. /OnlyForCampaign/
  971. if GetLastCommTime > 0 GetPolkCommand > 3 St_March = 1 DistToMT < 1250 St_LineFormation = 0 St_KareFormation = 0 UnitsAmount > 31 UnitsAmountMT > 31
  972. do FormateToLine 112
  973. if GetLastCommTime > 0 GetPolkCommand > 3 St_March = 0 DistToMT > 600 DistToMT < 1250 St_LineFormation = 0 UnitsAmount > 31 UnitsAmountMT > 31
  974. do FormateToLine 112
  975. if GetLastCommTime > 0 St_KareFormation = 0 St_LineFormation = 0 DistToMT < 3000 GetTired > 20 UnitsAmount > 31 GetPolkCommand < 6 UnitsAmountMT > 31
  976. do FormateToLine 113
  977. /OnlyForCampaign/
  978. /if GetLastCommTime > 0 St_KareFormation = 0 St_LineFormation = 0 DistToMT < 950 GetTired > 20 UnitsAmount > 31 GetFrontage > 600
  979. /do FormateToLine 111
  980. /if GetLastCommTime > 0 St_KareFormation = 0 St_LineFormation = 0 DistToMT < 950 GetTired > 20 UnitsAmount > 31 GetFrontage < 600
  981. /do FormateToKare 110
  982.  
  983. if GetStandTime > 1 GetLastCommTime > 1 St_ReadyToFire = 0 DistToMT < 1200 UnitsAmount > 31
  984. do SetReadyToFire 600
  985. if GetLastCommTime > 0 St_ReadyToFire = 1 DistToMT > 1500 GetAloneEnmUnits > 5 UnitsAmount > 31
  986. do SetNotReadyToFire 45
  987. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 950 Moral > 45 GetTired > 40 IsStandGround = 0 UnitsAmount > 31 FireDanger < 20 GetMeleeForceDiff > 180 GetBarrierToMT < 180
  988. do ArmAttack 100
  989. if GetLastCommTime > 0 GetLastCommTime > 4 GetTired > 40 DistToMT < 950 UnitsAmount > 70 IsStandGround = 0 FireDanger < 10 GetMeleeForceDiff > 90 GetBarrierToMT < 180
  990. do ArmAttack 101
  991. if GetLastCommTime > 0 DistToMT < 250 IsStandGround = 0 UnitsAmount > 31 GetBarrierToMT < 180 IsMTStandGround = 0
  992. do MeleeAttack 102
  993. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 1200 UnitsAmountMT < 31 GetTired > 60 Moral > 40 UnitsAmount > 31 GetBarrierToMT < 180
  994. do ArmAttack 103
  995. if GetLastCommTime > 0 GetLastCommTime > 4 FireReadyMT > 80 MoralMT < 38 DistToMT < 250 Moral > 45 IsStandGround = 0 UnitsAmount > 31 GetBarrierToMT < 180 IsMTStandGround = 0
  996. do MeleeAttack 104
  997. if GetLastCommTime > 0 IsStandGround = 0 GetStandTime > 5 DistToMT < 250 UnitsAmount > 31 IsMTStandGround = 0
  998. do MeleeAttack 105
  999. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT < 1000 FireForceDifference > -40 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900
  1000. do AttackMT 80
  1001. if GetLastCommTime > 0 St_Attack = 0 St_Attack = 0 GetFOOD < 10 DistToMT < 3000 UnitsAmount > 31 GetBarrierToMT < 180
  1002. do AttackMT 1
  1003. if GetLastCommTime > 0 FireReadyMT < 60 St_Attack = 0 GetStandTime > 2 DistToMT < 1000 GetTired > 40 IsStandGround = 0 UnitsAmount > 31 FireDanger < 140 GetMeleeForceDiff > 300 GetBarrierToMT < 180 GetFrontage > 900
  1004. do AttackMT 81
  1005. if GetLastCommTime > 0 IsStandGround = 0 FireReadyMT < 60 St_Attack = 0 GetStandTime > 2 GetMeleeForceDiff > 120 DistToMT < 1000 GetTired > 40 UnitsAmount > 31 FireForceDifference > 12 GetBarrierToMT < 180 GetFrontage > 900
  1006. do AttackMT 87
  1007. if GetLastCommTime > 0 IsStandGround = 0 St_Attack = 0 GetStandTime > 2 DistToMT < 700 Moral > 70 St_EnableFire = 0 FireReadyMT < 20 HaveReserv = 1 DistToMT < 1000 UnitsAmount > 31 GetBarrierToMT < 180 GetFrontage > 900
  1008. do AttackMT 89
  1009. if GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 DistToMT < 1000 UnitsAmountMT < 31 GetTired > 60 MoralMT > 700 UnitsAmount > 31 GetBarrierToMT < 180
  1010. do AttackMT 80
  1011. if GetLastCommTime > 0 GetLastCommTime > 4 GetStandTime < 1 St_Attack = 0 GetTired < 15 DistToMT > 400 UnitsAmount > 31
  1012. do Stop 140
  1013. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 4 St_March = 1 DistToAim < 200 UnitsAmount > 31
  1014. do Stop 150
  1015. if GetLastCommTime > 10 GetTired < 10 UnitsAmount > 31 DistToMT > 1000
  1016. do Stop 50
  1017.  
  1018. if GetLastCommTime > 0 GetStandTime < 6 FireReadyMT > 60 IsStandGround = 0 GetTired > 30 DistToMT < 600 Moral < 120 UnitsAmount > 31 GetBarrierToMT < 180
  1019. do MoveBack 300
  1020. if GetLastCommTime > 0 GetStandTime < 6 FireReadyMT > 60 IsStandGround = 1 GetTired > 30 DistToMT < 700 DistToMT > 500 Moral < 90 UnitsAmount > 31 GetBarrierToMT < 180
  1021. do MoveBack 60
  1022.  
  1023. if GetLastCommTime > 0 GetStandTime > 2 FireReadyMT < 20 Moral > 50 GetTired > 30 DistToMT < 450 UnitsAmount > 31 GetBarrierToMT < 180 GetMeleeForceDiff > 190
  1024. do MeleeAttack 103
  1025.  
  1026. if GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 UnitsAmount > 31 GetBarrierToMT < 180
  1027. do MoveBack 60
  1028. if GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 UnitsAmount > 31 GetBarrierToMT < 180
  1029. do MoveBack 61
  1030.  
  1031. if GetLastCommTime > 0 St_Attack = 1 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  1032. do MoveBack 62
  1033. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  1034. do MoveBack 62
  1035. if GetLastCommTime > 0 St_Attack = 1 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  1036. do MoveBack 63
  1037. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  1038. do MoveBack 63
  1039. /if GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 40 DistToMT > 1000 UnitsAmount > 31 GetBarrierToMT < 180
  1040. /do MoveBack 64
  1041. if GetLastCommTime > 0 St_Attack = 1 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  1042. do MoveBack 65
  1043. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT < 900 DistToMT > 400 UnitsAmount > 31 Moral < 150 FireDanger > 30 FireForceDifference < -200 GetTired > 30 GetBarrierToMT < 180
  1044. do MoveBack 65
  1045. if GetLastCommTime > 0 St_Attack = 1 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  1046. do MoveBack 66
  1047. if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 600 DistToMT < 900 UnitsAmount > 31 Moral < 150 FireDanger > 200 GetTired > 30 GetBarrierToMT < 180
  1048. do MoveBack 66
  1049. if GetLastCommTime > 0 St_Attack = 1 FireDanger > 40 DistToMT < 1000 Moral < 50 UnitsAmountMT > 31 UnitsAmount > 31 GetBarrierToMT < 180
  1050. do MoveBack 68
  1051. if GetLastCommTime > 0 IsStandGround = 0 GetStandTime > 2 DistToMT < 800 DistToMT > 300 FireDanger > 100 UnitsAmountMT > 31 UnitsAmount > 31 GetBarrierToMT < 180
  1052. do MoveBack 69
  1053. if GetLastCommTime > 0 GetLastCommTime > 4 IsStandGround = 0 St_Attack = 0 Encircle > 54 FireDanger > 100 UnitsAmount > 31 GetBarrierToMT < 180
  1054. do MoveBack 60
  1055. if GetLastCommTime > 0 IsStandGround = 1 St_Attack = 0 Encircle > 90 FireDanger > 100 UnitsAmount > 31 GetBarrierToMT < 180
  1056. do MoveBack 61
  1057. if GetLastCommTime > 0 IsStandGround = 1 Moral < 120 MoralDiff < 70 FireDanger > 100 DistToMT < 1000 DistToMT > 600 UnitsAmount > 31 GetBarrierToMT < 180
  1058. do MoveBack 63
  1059. if GetLastCommTime > 0 St_Attack = 1 IsStandGround = 0 Moral < 80 MoralDiff < 70 FireDanger > 100 DistToMT < 1000 DistToMT > 600 UnitsAmount > 31 GetBarrierToMT < 180
  1060. do MoveBack 64
  1061. if GetLastCommTime > 0 GetLastCommTime > 4 IsStandGround = 0 Moral < 80 MoralDiff < 70 FireDanger > 100 DistToMT < 1000 DistToMT > 600 UnitsAmount > 31 GetBarrierToMT < 180
  1062. do MoveBack 64
  1063. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 950 DistToMT > 400 IsMTCannon = 1 KartechDanger > 20 UnitsAmount > 31 GetBarrierToMT < 180
  1064. do MoveBack 65
  1065.  
  1066. if St_SquareFormation = 1 GetLastCommTime > 0 St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 1000 DistToAim > 200 UnitsAmount > 31
  1067. do MoveToAim 40
  1068. if St_SquareFormation = 1 GetLastCommTime > 0 St_Attack = 0 St_March = 0 GetTired > 60 DistToAim > 200 UnitsAmount > 31 DistToMT > 1250
  1069. do MoveToAim 41
  1070. if St_SquareFormation = 1 GetLastCommTime > 0 St_March = 1 DistToAim > 200 GetLastCommTime > 20 UnitsAmount > 31
  1071. do MoveToAim 91
  1072. if St_SquareFormation = 0 GetLastCommTime > 0 St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 1250 DistToAim > 200 UnitsAmount > 31
  1073. do FormateToSquare 42
  1074. if St_SquareFormation = 0 GetLastCommTime > 0 St_Attack = 0 St_March = 0 GetTired > 60 DistToAim > 200 UnitsAmount > 31 DistToMT > 1250
  1075. do FormateToSquare 43
  1076. if St_SquareFormation = 0 GetLastCommTime > 0 St_March = 1 DistToAim > 200 GetLastCommTime > 20 UnitsAmount > 31
  1077. do FormateToSquare 94
  1078. if GetLastCommTime > 0 GetStandTime < 1 St_EnableFire = 0 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  1079. do AttackAloneEnmUnits 15
  1080. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 0 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  1081. do AttackAloneEnmUnits 15
  1082. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 1 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount > 31 GetTired > 40
  1083. do AttackAloneEnmUnits 15
  1084. if GetLastCommTime > 0 GetStandTime < 1 GetNGrenades > 2 DistToMT < 500 St_Attack = 1 UnitsAmount > 31 IsMTStandGround = 0 GetMTStandTime > 20
  1085. do ThrowGrenade 120
  1086. if GetLastCommTime > 0 GetStandTime > 2 GetNGrenades > 2 DistToMT < 500 UnitsAmount > 31 IsMTStandGround = 0 GetMTStandTime > 20
  1087. do ThrowGrenade 120
  1088.  
  1089. if GetLastCommTime > 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetTired > 50 UnitsAmount > 31 DistInReserv < 70 DistToMT < 2200 DistToMT > 500
  1090. do KeepDistInReserv 13
  1091. if GetLastCommTime > 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetTired > 50 UnitsAmount > 31 DistInReserv > 130 DistToMT < 2200 DistToMT > 500
  1092. do KeepDistInReserv 14
  1093. if GetLastCommTime > 0 GetStandTime > 5 St_Attack = 0 DistToMT < 2200 DistToMT > 500 St_Front = 1 DistInFront > 130 GetTired > 50 UnitsAmount > 31 DistToMT < 500
  1094. do KeepDistInFront 15
  1095. if GetLastCommTime > 0 GetStandTime > 5 St_Attack = 0 DistToMT < 2200 DistToMT > 500 St_Front = 1 DistInFront < 70 GetTired > 50 UnitsAmount > 31 DistToMT < 500
  1096. do KeepDistInFront 16
  1097. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 900 GetTired > 40 AngToMT > 40 IsStandGround = 0 UnitsAmount > 31
  1098. do TurnToMT 50
  1099. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 IsStandGround = 0 AngToMT > 42 UnitsAmount > 31
  1100. do TurnToMT 51
  1101. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 IsStandGround = 1 AngToMT > 42 UnitsAmount > 31
  1102. do TurnToMT 52
  1103. if GetLastCommTime > 0 St_March = 1 DistToAim > 200 GetLastCommTime > 20 UnitsAmount > 31
  1104. do MoveToAim 91
  1105. if GetLastCommTime > 0 GetStandTime > 5 GetDistToFriendlyForm < 100 GetTired > 40 St_Attack = 0 GetLastCommTime > 5 UnitsAmount > 31 DistToMT < 500
  1106. do KeepDistInReserv 17
  1107. /if GetLastCommTime > 0 GetStandTime > 5 GetDistToFriendlyForm < 100 GetTired > 40 St_Attack = 0 St_Reserv = 1 HaveReserv = 1 GetLastCommTime > 5 UnitsAmount > 31 DistToMT < 500
  1108. /do KeepDistInFront 18
  1109. #
  1110. #PEHOTASTRELKI UnitEgrNG(AU) UnitEgrNG(FR) UnitEgrNG(PR) UnitGre(EG) UnitEgr(RU) UnitEgrNG(EN)
  1111. if DistToMT < 900 GetFireReady > 70 MoralMT < 50 UnitsAmountMT > 31
  1112. do AttackMT 97
  1113. if DistToMT < 250 GetFireReady > 70 MoralMT < 50 UnitsAmountMT > 31
  1114. do EnableFire 98
  1115. if DistToMT < 550 GetFireReady > 70 MoralMT < 40 UnitsAmountMT > 31
  1116. do EnableFire 99
  1117.  
  1118. if GetLastCommTime > 0 DistToMT < 400 GetFireReady < 10 FireReadyMT < 30 MoralMT < 38 DistToMT < 250 UnitsAmountMT < 28 GetBarrierToMT < 180 IsMTStandGround = 0
  1119. do MeleeAttack 104
  1120. if St_Attack = 0 GetLastCommTime > 0 DistToMT < 250 UnitsAmountMT < 17
  1121. do MeleeAttack 106
  1122. if GetLastCommTime > 0 DistToMT > 200 DistToMT < 600 GetFireReady < 10 FireReadyMT < 30 UnitsAmountMT > 27 IsStandGround = 0
  1123. do MoveBack 60
  1124. if GetLastCommTime > 0 DistToMT > 200 DistToMT < 600 GetFireReady < 10 FireReadyMT > 30 UnitsAmountMT < 28 IsStandGround = 0
  1125. do MoveBack 60
  1126.  
  1127. if GetLastCommTime > 0 GetLastCommTime > 1 St_ReadyToFire = 0 DistToMT < 1100 
  1128. do SetReadyToFire 600
  1129. if GetLastCommTime > 0 St_ReadyToFire = 1 DistToMT > 1500 GetAloneEnmUnits > 5 
  1130. do SetNotReadyToFire 45
  1131.  
  1132. if GetLastCommTime > 0 DistToMT < 1000 St_EnableFire = 0 GetFireReady > 50 GetMTForestDensity < 40 MoralMTAfterFire < 35 
  1133. do EnableFire 91
  1134. if GetLastCommTime > 0 St_EnableFire = 0 FireReadyMT > 30 GetFireReady > 50 DistToMT < 500 GetMTForestDensity < 40 
  1135. do EnableFire 93
  1136. if GetLastCommTime > 0 St_Front = 1 St_EnableFire = 0 DistToMT < 800 GetFireReady > 50 FireReadyMT > 30 Moral < 45 UnitsAmountMT > 31
  1137. do EnableFire 94
  1138. if GetLastCommTime > 0 St_Attack = 0 St_EnableFire = 0 DistToMT < 350 GetFireReady > 50 
  1139. do EnableFire 99
  1140. if GetLastCommTime > 0 St_Attack = 1 St_EnableFire = 0 DistToMT < 350 GetFireReady > 50 
  1141. do EnableFire 90
  1142. if GetLastCommTime > 0 St_EnableFire = 0 FireDanger > 240 DistToMT < 700 GetFireReady > 50
  1143. do EnableFire 91
  1144. if GetLastCommTime > 0 IsMTStandGround = 1 St_EnableFire = 0 GetFireReady > 50 KillAmoMT > 8 DistToMT < 500
  1145. do EnableFire 94
  1146. if GetLastCommTime > 0 GetStandTime > 2 DistToMT < 600 St_EnableFire = 0 St_Reserv = 1 St_Attack = 0 GetFireReady > 50 
  1147. do EnableFire 95
  1148. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 700 GetFireReady > 50 IsMTCannon = 1 KartechDanger > 20 
  1149. do EnableFire 93
  1150.  
  1151. if St_Attack = 0 GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 70 DistToMT < 1400 FireForceDifference > 40 SumDangAndForce > 150  GetBarrierToMT < 180 
  1152. do AttackMT 82
  1153. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 St_Attack = 0 GetFOOD < 10 DistToMT < 3000 GetTired > 40  GetBarrierToMT < 180
  1154. do AttackMT 1
  1155. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 DistToMT < 1000 GetTired > 40 IsStandGround = 0  FireDanger < 140 GetMeleeForceDiff > 300 GetPolkCommand > 5 GetBarrierToMT < 180 
  1156. do AttackMT 81
  1157. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 FireReadyMT < 30 GetFireReady > 80 DistToMT < 1000 GetTired > 40  GetPolkCommand > 5 GetBarrierToMT < 180 
  1158. do AttackMT 82
  1159. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 FireReadyMT < 44 GetFireReady > 80 DistToMT < 1000 GetTired > 40  GetPolkCommand > 5 GetBarrierToMT < 180 
  1160. do AttackMT 83
  1161. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 UnitsAmountMT < 80 UnitsAmount > 100 FireReadyMT < 50 GetFireReady > 50 DistToMT < 900 GetTired > 40  GetPolkCommand > 5 GetBarrierToMT < 180 
  1162. do AttackMT 84
  1163. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 GetFireReady > 20 GetTired > 40  DistToMT < 1000 FireDanger < 20 Encircle > 54 GetPolkCommand > 5 GetBarrierToMT < 180 
  1164. do AttackMT 85
  1165. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 GetFireReady > 80 DistToMT < 1000 DistToMT > 300 GetTired > 40  FireForceDifference > -40 GetPolkCommand > 5 GetBarrierToMT < 180 
  1166. do AttackMT 86
  1167. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 GetMeleeForceDiff > 120 DistToMT < 1000 GetTired > 40  FireForceDifference > 12 GetPolkCommand > 5 GetBarrierToMT < 180 
  1168. do AttackMT 87
  1169. if St_Attack = 0 GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 St_EnableFire = 0 GetFireReady > 80 DistToMT < 1000  FireDanger < 10 GetTired > 40 GetPolkCommand > 5 GetBarrierToMT < 180 
  1170. do AttackMT 88
  1171. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 DistToMT < 700 Moral > 70 St_EnableFire = 0 FireReadyMT < 20 HaveReserv = 1 DistToMT < 1000  GetTired > 30 GetPolkCommand > 5 GetBarrierToMT < 180 
  1172. do AttackMT 89
  1173. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 DistToMT < 1000 UnitsAmountMT < 31 GetTired > 40 MoralMT > 700  GetBarrierToMT < 180
  1174. do AttackMT 80
  1175. if GetLastCommTime > 0 GetLastCommTime > 3 GetStandTime < 1 GetTired < 15 DistToMT > 400 
  1176. do Stop 140
  1177. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 3 St_March = 1 DistToAim < 200 
  1178. do Stop 150
  1179.  
  1180. if GetLastCommTime > 0 GetLastCommTime > 3 DistToMT > 250 DistToMT < 600 GetFireReady < 70 GetTired > 20 GetBarrierToMT < 180
  1181. do MoveBack 67
  1182. if GetLastCommTime > 0 GetLastCommTime > 3 DistToMT > 250 DistToMT < 600 GetFireReady > 69 FireReadyMT > 20 GetTired > 20 GetBarrierToMT < 180
  1183. do MoveBack 67
  1184. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 950 DistToMT > 400 IsMTCannon = 1 KartechDanger > 20 GetBarrierToMT < 180
  1185. do MoveBack 65
  1186.  
  1187. if GetLastCommTime > 0 St_EnableFire = 1 DistToMT > 1500  GetAloneEnmUnits > 5
  1188. do DisableFire 30
  1189. if GetLastCommTime > 0 St_EnableFire = 1 GetFireReady < 2 
  1190. do DisableFire 31
  1191. if GetLastCommTime > 0 GetStandTime < 1 St_EnableFire = 0 DistToMT > 1000 GetFireReady < 40 GetAloneEnmUnits > 5  GetTired > 40
  1192. do AttackAloneEnmUnits 15
  1193. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 0 DistToMT > 1000 GetFireReady < 40 GetAloneEnmUnits > 5  GetTired > 40
  1194. do AttackAloneEnmUnits 15
  1195. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 1 DistToMT > 1000 GetFireReady < 40 GetAloneEnmUnits > 5  GetTired > 40
  1196. do AttackAloneEnmUnits 15
  1197. if GetLastCommTime > 0 St_March = 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetFireReady > 80 GetTired > 50  DistInReserv < 70 DistToMT < 2200 DistToMT > 500
  1198. do KeepDistInReserv 13
  1199. if GetLastCommTime > 0 St_March = 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetTired > 50 GetFireReady > 80  DistInReserv > 130 DistToMT < 2200 DistToMT > 500
  1200. do KeepDistInReserv 14
  1201. /if GetLastCommTime > 0 St_March = 0 GetStandTime > 5 St_Attack = 0 DistToMT < 2200 St_Front = 1 DistInFront > 130 GetFireReady > 80 GetTired > 50  DistToMT > 500
  1202. /do KeepDistInFront 15
  1203. /if GetLastCommTime > 0 St_March = 0 GetStandTime > 5 St_Attack = 0 DistToMT < 2200 St_Front = 1 DistInFront < 70 GetFireReady > 80 GetTired > 50  DistToMT > 500
  1204. /do KeepDistInFront 16
  1205. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 900 GetFireReady > 80 GetTired > 40 AngToMT > 42 IsStandGround = 0 
  1206. do TurnToMT 50
  1207. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 GetFireReady > 70 IsStandGround = 0 AngToMT > 42 
  1208. do TurnToMT 51
  1209. if GetLastCommTime > 0 GetStandTime > 2 GetTired > 40 DistToMT < 900 GetFireReady > 70 IsStandGround = 1 AngToMT > 42 
  1210. do TurnToMT 52
  1211. /OnlyForCampaign/
  1212. /OnlyForCampaign/
  1213. if GetLastCommTime > 0 St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 3000 GetFireReady > 98 DistToAim > 200  GetPolkCommand < 6
  1214. do MoveToAim 40
  1215. if GetLastCommTime > 0 St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 1250 GetFireReady > 98 DistToAim > 200  GetPolkCommand > 5
  1216. do MoveToAim 41
  1217. if GetLastCommTime > 0 St_March = 1 DistToAim > 200 GetLastCommTime > 20 
  1218. do MoveToAim 91
  1219. if GetLastCommTime > 0 GetLastCommTime > 5 St_March = 0 GetDistToFriendlyForm < 100 GetTired > 40 St_Attack = 0 DistToMT < 1500  DistToMT > 500
  1220. do KeepDistInReserv 17
  1221. /if GetLastCommTime > 0 GetLastCommTime > 5 St_March = 0 GetDistToFriendlyForm < 100 GetTired > 40 St_Attack = 0 St_Reserv = 1 HaveReserv = 1 GetLastCommTime > 5 DistToMT < 2000  DistToMT > 500
  1222. /do KeepDistInFront 18
  1223. /if GetLastCommTime > 0 GetLastCommTime > 5 St_March = 0 DistToMT < 2000 GetTired > 40 St_Attack = 0 St_Reserv = 1 DistInFront > 150 GetLastCommTime > 5  DistToMT < 500
  1224. /do KeepDistInFront 19
  1225. #
  1226. #CANNON ArtPus4(EN) ArtPus4(FR) ArtPus4(RU) ArtPus4(EG) ArtPus4(PR) ArtPus4(AU) ArtPus4(NE) ArtPus4L(EN) ArtPus4L(FR) ArtPus4L(RU) ArtPus4L(EG) ArtPus4L(PR) ArtPus4L(AU) ArtPus4L(NE) ArtPus4G(EN) ArtPus4G(FR) ArtPus4G(RU) ArtPus4G(EG) ArtPus4G(PR) ArtPus4G(AU) ArtPus4G(NE) ArtPus4R(EN)
  1227. if GetLastCommTime > 10 GetFillingAbility = 1 DistToMT < 10 DistToMT > 100
  1228. do Stop 2
  1229. if GetLastCommTime > 0 GetPushkaChargeState0 = 100 GetDistToEnmBuilding < 1000
  1230. do FireOnEnmBuilding 91
  1231. if GetLastCommTime > 0 GetPushkaChargeState0 = 100 GetDistToEnmBuilding < 1000
  1232. do FireOnEnmTower 92
  1233. if GetLastCommTime > 0 GetPushkaChargeState0 = 100 GetDistToEnmTower < 2000
  1234. do FireOnEnmTower 93
  1235. if GetLastCommTime > 0 GetStandTime > 2 GetPushkaChargeState0 = 100 GetMaxDensityInZerroSector > 0 GetLastCommTime > 2
  1236. do Fire 90
  1237. if GetLastCommTime > 0 GetPushkaChargeState0 = 100 GetStandTime > 2 GetMaxDensityInZerroSector < 1 DistToMT < 2500 UnitsAmountMT > 31
  1238. do TurnCannonToMaxEnmFormationSector 89
  1239. if GetLastCommTime > 0 GetPushkaChargeState1 = 100 GetStandTime > 2 GetMaxDensityInZerroSector < 1 DistToMT < 2500 UnitsAmountMT > 31
  1240. do TurnCannonToMaxEnmFormationSector 89
  1241. if GetLastCommTime > 0 St_March = 1 DistToAim > 200 GetLastCommTime > 20
  1242. do MoveToAim 93
  1243. if GetLastCommTime > 0 St_March = 0 DistToMT > 3000 GetPushkaChargeState0 = 100 DistToAim > 200 GetLastCommTime > 3
  1244. do MoveToAim 40
  1245. if GetLastCommTime > 0 St_March = 0 DistToMT > 3000 GetPushkaChargeState1 = 100 DistToAim > 200 GetLastCommTime > 3
  1246. do MoveToAim 41
  1247. /if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 500 DistToMT < 1700 GetStandTime > 10 UnitsAmountMT > 31 GetDistToEnmTower < 2500 GetBarrierToMT < 180
  1248. /do StepForward 12
  1249. /if GetLastCommTime > 0 GetLastCommTime > 4 DistToMT > 2000 DistToMT < 3000 GetStandTime > 10 GetMaxDensityInZerroSector < 1 UnitsAmountMT > 31 GetDistToEnmTower > 2500 GetBarrierToMT < 180
  1250. /do StepForward 13
  1251. if GetLastCommTime > 0 GetPushkaChargeState0 = 100 GetDistToEnmTower < 2500 GetKartechEffect < 700 UnitsAmountMT > 31
  1252. do FireOnEnmTower 92
  1253. if GetLastCommTime > 0 GetPushkaChargeState1 > 10 GetDistToEnmTower < 2500 GetKartechEffect < 700 UnitsAmountMT > 31
  1254. do ChargeCannon0 24
  1255. if GetLastCommTime > 0 GetPushkaChargeState1 > 10 DistToMT > 900 GetKartechEffect < 700 UnitsAmountMT > 31
  1256. do ChargeCannon0 23
  1257. if GetLastCommTime > 3 GetPushkaChargeState0 > 10 DistToMT < 900 UnitsAmountMT > 80
  1258. do ChargeCannon1 25
  1259. if GetStandTime > 6 GetLastCommTime > 3 GetPushkaChargeState1 > 10 DistToMT > 900 UnitsAmountMT > 80
  1260. do ChargeCannon0 26
  1261. if GetLastCommTime > 0 St_Front = 1 GetPushkaChargeState1 = 100 GetKartechEffect > 700
  1262. do Fire 25
  1263. if GetLastCommTime > 0 GetPushkaChargeState0 > 10 GetKartechEffect > 700
  1264. do ChargeCannon1 25
  1265. if GetLastCommTime > 2 GetProcDistToAimInPolk > 100
  1266. do MoveToAim 9
  1267. if GetLastCommTime > 2 GetProcDistToAimInPolk < 100
  1268. do Stop 10
  1269. /if GetLastCommTime > 0 GetLastCommTime > 4 GetKartechEffect > 40
  1270. /do ChargeCannon1 25
  1271. /if GetLastCommTime > 0 DistToMT < 900 GetLastCommTime > 4 GetKartechEffect > 10 GetStandTime > 5
  1272. /do ChargeCannon1 25
  1273. /if GetLastCommTime > 0 GetStandTime > 5 GetPushkaChargeState1 = 100 GetKartechEffect > 10 GetLastCommTime > 5
  1274. /do Fire 91
  1275. /if GetLastCommTime > 0 DistToMT > 1200 GetLastCommTime > 4 GetKartechEffect < 11 GetStandTime > 5
  1276. /do ChargeCannon0 24
  1277. #
  1278. /#MENT TempMent(FR) UnitFuz(FR) UnitFuzNG(FR) UnitVol(FR) UnitGre(FR) UnitEgrNG(FR) UnitSap(FR) UnitGre(PR) UnitVol(PR) UnitFuz(PR) UnitOf(PR) UnitBar(PR) UnitFlg(PR) UnitEgrNG(PR) UnitSap(PR) UnitFuz(EG) UnitOf(EG) UnitBar(EG) UnitGre(EG) UnitFuz(EN) UnitGre(EN) UnitOf(EN) UnitBar(EN) UnitFlg(EN) UnitEgrNG(EN) UnitFuzNG(AU) UnitFuz(AU) UnitVol(AU) UnitGre(AU) UnitOf(AU) UnitBar(AU) UnitFlg(AU) UnitEgrNG(AU) UnitSap(AU) UnitOf(PR) UnitBar(PR) UnitFlg(PR) UnitEgrNG(PR) UnitSap(PR) UnitFuz(RU) UnitGre(RU) UnitOf(RU) UnitBar(RU) UnitFlg(RU) UnitEgr(RU) UnitSap(RU) UnitFuz(EG) UnitOf(EG) UnitBar(EG) UnitGre(EG) UnitOf(EG) UnitBar(EG) UnitGre(EG) TempMent(FR) TempMent(NE)
  1279. /if GetLastCommTime > 0 GetStandTime < 99999999 St_EnableFire = 0 DistToMT < 700 GetFireReady > 10 UnitsAmount < 31 MoralMTAfterFire < 40
  1280. /do EnableFire 71
  1281. /if GetLastCommTime > 0 St_Attack = 0 St_EnableFire = 0 DistToMT < 350 GetFireReady > 10 GetMTForestDensity < 40 UnitsAmount < 31
  1282. /do EnableFire 60
  1283. /if GetLastCommTime > 0 St_Attack = 0 St_EnableFire = 0 DistToMT < 350 GetFireReady > 10 GetMTForestDensity < 40 UnitsAmount < 31
  1284. /do EnableFire 60
  1285. /if GetLastCommTime > 0 St_Attack = 1 St_EnableFire = 0 DistToMT < 350 GetFireReady > 10 GetMTForestDensity < 40 UnitsAmount < 31
  1286. /do EnableFire 60
  1287. /if GetLastCommTime > 0 St_Attack = 0 St_EnableFire = 0 DistToMT < 250 FireReadyMT < 10 GetFireReady > 10 GetMTForestDensity < 40 UnitsAmount < 31
  1288. /do EnableFire 60
  1289. /if GetLastCommTime > 0 St_Attack = 0 St_EnableFire = 0 DistToMT < 250 FireReadyMT < 10 GetFireReady > 10 GetMTForestDensity < 40 UnitsAmount < 31
  1290. /do EnableFire 60
  1291. /if GetLastCommTime > 0 St_Attack = 1 St_EnableFire = 0 DistToMT < 250 FireReadyMT < 10 GetFireReady > 10 GetMTForestDensity < 40 UnitsAmount < 31
  1292. /do EnableFire 60
  1293. /if GetLastCommTime > 0 GetStandTime < 1 St_EnableFire = 0 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount < 31 GetTired > 40
  1294. /do AttackAloneEnmUnits 133
  1295. /if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 0 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount < 31 GetTired > 40
  1296. /do AttackAloneEnmUnits 133
  1297. /if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 1 DistToMT > 1000 GetAloneEnmUnits > 5 UnitsAmount < 31 GetTired > 40
  1298. /do AttackAloneEnmUnits 133
  1299. /if GetLastCommTime > 0 GetAloneEnmUnits > 15 DistToMT > 900 St_EnableFire = 0 GetFireReady > 10 GetMTForestDensity < 40 UnitsAmount < 31
  1300. /do EnableFire 44
  1301. /if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetFireReady > 20 UnitsAmount < 31 DistToMT < 1200 DistToAim < 1200 GetMTStandTime > 2 GetBarrierToMT < 180
  1302. /do AttackMT 61
  1303. /if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 UnitsAmount < 31 DistToMT < 1200 DistToAim < 800 GetMTStandTime > 2 GetBarrierToMT < 180
  1304. /do AttackMT 62
  1305. /if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 UnitsAmount < 31 DistToMT < 1200 GetMTStandTime > 2 GetBarrierToMT < 180
  1306. /do AttackMT 63
  1307. /if GetLastCommTime > 0 St_EnableFire = 0 GetFireReady > 10 KillAmoMT > 10 UnitsAmount < 31 FireReadyMT > 70
  1308. /do EnableFire 71
  1309. /if GetLastCommTime > 0 GetLastCommTime > 4 GetFireReady < 5 DistToMT < 250 UnitsAmount < 31 GetBarrierToMT < 180
  1310. /do MeleeAttack 40
  1311. /if GetLastCommTime > 0 St_March = 0 DistToAim > 1000 GetStandTime > 2 UnitsAmount < 31 
  1312. /do MoveToAim 60
  1313. /if GetLastCommTime > 0 St_March = 0 DistToAim > 800 GetStandTime > 2 UnitsAmount < 31 GetFireReady > 10
  1314. /do MoveToAim 20
  1315. /if GetLastCommTime > 0 DistToMT < 700 GetFireReady > 10 UnitsAmount < 31 DistToAim > 800
  1316. /do EnableFire 80
  1317. /if GetLastCommTime > 0 DistToMT < 450 GetFireReady > 10 UnitsAmount < 31
  1318. /do EnableFire 81
  1319. /if GetLastCommTime > 0 St_ReadyToFire = 0 DistToMT < 1300 UnitsAmount < 31
  1320. /do SetReadyToFire 160
  1321. /if GetLastCommTime > 0 St_ReadyToFire = 1 DistToMT > 1500 GetAloneEnmUnits > 5 UnitsAmount < 31
  1322. /do SetNotReadyToFire 6
  1323. /if GetLastCommTime > 0 St_EnableFire = 1 DistToMT > 1500 UnitsAmount < 31 GetAloneEnmUnits < 5
  1324. /do DisableFire 5
  1325. /if GetLastCommTime > 0 St_EnableFire = 1 GetFireReady < 5 UnitsAmount < 31 
  1326. /do DisableFire 5
  1327. /if GetLastCommTime > 0 GetLastCommTime > 4 St_Front = 1 DistToMT > 1000 GetFireReady < 15 HaveReserv = 1 UnitsAmountMT > 31 UnitsAmount < 31
  1328. /do Castle 75
  1329. /if GetLastCommTime > 0 GetLastCommTime > 4 St_Front = 1 DistToMT < 1000 GetFireReady < 15 HaveReserv = 1 FireReadyMT < 70 UnitsAmountMT > 31 UnitsAmount < 31 
  1330. /do Castle 75
  1331. /if GetLastCommTime > 0 GetStandTime > 2 DistToMT < 800 GetFireReady > 90 KillAmoMT > 2 UnitsAmount < 31 
  1332. /do OneLineShot 15
  1333. /if GetLastCommTime > 0 GetStandTime > 2 DistToMT < 800 GetFireReady > 60 KillAmoMT > 4 UnitsAmount < 31 
  1334. /do OneLineShot 15
  1335. /if GetLastCommTime > 0 GetStandTime > 2 DistToMT < 800 GetFireReady > 30 KillAmoMT > 6 UnitsAmount < 31 
  1336. /do OneLineShot 15
  1337. /if GetLastCommTime > 0 GetStandTime > 2 St_Reserv = 1 St_Attack = 0 DistInReserv < 70 GetFireReady > 80 GetTired > 80 UnitsAmount < 31 
  1338. /do KeepDistInReserv 15
  1339. /if GetLastCommTime > 0 GetStandTime > 2 St_Reserv = 1 St_Attack = 0 DistInReserv > 130 GetTired > 50 GetFireReady > 80 UnitsAmount < 31 
  1340. /do KeepDistInReserv 15
  1341. /if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 1300 GetFireReady > 80 GetTired > 40 AngToMT > 40 UnitsAmount < 31 
  1342. /do TurnToMT 10
  1343. /if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 AngToMT > 20 DistToMT < 1400 GetFireReady > 70 UnitsAmount < 31 
  1344. /do TurnToMT 10
  1345. /if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 1300 GetFireReady > 80 GetTired > 40 AngToMT > 50 UnitsAmount < 31 
  1346. /do TurnToMT 10
  1347. /if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 AngToMT > 50 DistToMT < 1400 GetFireReady > 70 UnitsAmount < 31 
  1348. /do TurnToMT 10
  1349. /#
  1350. #PEHOTASTRELKI UnitSap(EN) UnitSap(FR) UnitSap(PR) UnitSap(AU) UnitSap(PR) UnitSap(RU)
  1351. if CanSetBomb = 1 GetDistToEnmBuilding < 1000 DistToMT < 600
  1352. do SetBomb 20
  1353. if CanSetBomb = 1 GetDistToEnmTower < 2000 DistToMT < 800
  1354. do SetBomb 21
  1355. if DistToMT < 900 GetFireReady > 70 MoralMT < 50 UnitsAmountMT > 31
  1356. do AttackMT 97
  1357. if DistToMT < 250 GetFireReady > 70 MoralMT < 50 UnitsAmountMT > 31
  1358. do EnableFire 98
  1359. if DistToMT < 550 GetFireReady > 70 MoralMT < 40 UnitsAmountMT > 31
  1360. do EnableFire 99
  1361.  
  1362. if GetLastCommTime > 0 DistToMT < 400 GetFireReady < 10 FireReadyMT < 30 MoralMT < 38 DistToMT < 250 UnitsAmountMT < 28 GetBarrierToMT < 180 IsMTStandGround = 0
  1363. do MeleeAttack 104
  1364. if St_Attack = 0 GetLastCommTime > 0 DistToMT < 250 UnitsAmountMT < 17
  1365. do MeleeAttack 106
  1366. if GetLastCommTime > 0 DistToMT > 200 DistToMT < 600 GetFireReady < 10 FireReadyMT < 30 UnitsAmountMT > 27 IsStandGround = 0
  1367. do MoveBack 60
  1368. if GetLastCommTime > 0 DistToMT > 200 DistToMT < 600 GetFireReady < 10 FireReadyMT > 30 UnitsAmountMT < 28 IsStandGround = 0
  1369. do MoveBack 60
  1370.  
  1371. if GetLastCommTime > 0 GetLastCommTime > 1 St_ReadyToFire = 0 DistToMT < 1100 
  1372. do SetReadyToFire 600
  1373. if GetLastCommTime > 0 St_ReadyToFire = 1 DistToMT > 1500 GetAloneEnmUnits > 5 
  1374. do SetNotReadyToFire 45
  1375.  
  1376. if GetLastCommTime > 0 DistToMT < 1000 St_EnableFire = 0 GetFireReady > 50 GetMTForestDensity < 40 MoralMTAfterFire < 35 
  1377. do EnableFire 91
  1378. if GetLastCommTime > 0 St_EnableFire = 0 FireReadyMT > 30 GetFireReady > 50 DistToMT < 500 GetMTForestDensity < 40 
  1379. do EnableFire 93
  1380. if GetLastCommTime > 0 St_Front = 1 St_EnableFire = 0 DistToMT < 800 GetFireReady > 50 FireReadyMT > 30 Moral < 45 UnitsAmountMT > 31
  1381. do EnableFire 94
  1382. if GetLastCommTime > 0 St_Attack = 0 St_EnableFire = 0 DistToMT < 350 GetFireReady > 50 
  1383. do EnableFire 99
  1384. if GetLastCommTime > 0 St_Attack = 1 St_EnableFire = 0 DistToMT < 350 GetFireReady > 50 
  1385. do EnableFire 90
  1386. if GetLastCommTime > 0 St_EnableFire = 0 FireDanger > 240 DistToMT < 700 GetFireReady > 50
  1387. do EnableFire 91
  1388. if GetLastCommTime > 0 IsMTStandGround = 1 St_EnableFire = 0 GetFireReady > 50 KillAmoMT > 8 DistToMT < 500
  1389. do EnableFire 94
  1390. if GetLastCommTime > 0 GetStandTime > 2 DistToMT < 600 St_EnableFire = 0 St_Reserv = 1 St_Attack = 0 GetFireReady > 50 
  1391. do EnableFire 95
  1392. if GetLastCommTime > 0 St_EnableFire = 0 DistToMT < 700 GetFireReady > 50 IsMTCannon = 1 KartechDanger > 20 
  1393. do EnableFire 93
  1394.  
  1395. if St_Attack = 0 GetLastCommTime > 0 GetStandTime > 2 IsInBatter > 0 GetTired > 70 DistToMT < 1400 FireForceDifference > 40 SumDangAndForce > 150  GetBarrierToMT < 180 
  1396. do AttackMT 82
  1397. /ForBattlesOnly/if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 St_Attack = 0 GetFOOD < 5000 DistToMT < 3000 GetTired > 40  GetBarrierToMT < 180
  1398. /ForBattlesOnly/do AttackMT 1
  1399. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 DistToMT < 1000 GetTired > 40 IsStandGround = 0  FireDanger < 140 GetMeleeForceDiff > 300 GetPolkCommand > 5 GetBarrierToMT < 180 
  1400. do AttackMT 81
  1401. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 FireReadyMT < 30 GetFireReady > 80 DistToMT < 1000 GetTired > 40  GetPolkCommand > 5 GetBarrierToMT < 180 
  1402. do AttackMT 82
  1403. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 FireReadyMT < 44 GetFireReady > 80 DistToMT < 1000 GetTired > 40  GetPolkCommand > 5 GetBarrierToMT < 180 
  1404. do AttackMT 83
  1405. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 UnitsAmountMT < 80 UnitsAmount > 100 FireReadyMT < 50 GetFireReady > 50 DistToMT < 900 GetTired > 40  GetPolkCommand > 5 GetBarrierToMT < 180 
  1406. do AttackMT 84
  1407. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 GetFireReady > 20 GetTired > 40  DistToMT < 1000 FireDanger < 20 Encircle > 54 GetPolkCommand > 5 GetBarrierToMT < 180 
  1408. do AttackMT 85
  1409. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 GetFireReady > 80 DistToMT < 1000 DistToMT > 300 GetTired > 40  FireForceDifference > -40 GetPolkCommand > 5 GetBarrierToMT < 180 
  1410. do AttackMT 86
  1411. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 GetMeleeForceDiff > 120 DistToMT < 1000 GetTired > 40  FireForceDifference > 12 GetPolkCommand > 5 GetBarrierToMT < 180 
  1412. do AttackMT 87
  1413. if St_Attack = 0 GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 St_EnableFire = 0 GetFireReady > 80 DistToMT < 1000  FireDanger < 10 GetTired > 40 GetPolkCommand > 5 GetBarrierToMT < 180 
  1414. do AttackMT 88
  1415. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 DistToMT < 700 Moral > 70 St_EnableFire = 0 FireReadyMT < 20 HaveReserv = 1 DistToMT < 1000  GetTired > 30 GetPolkCommand > 5 GetBarrierToMT < 180 
  1416. do AttackMT 89
  1417. if St_Attack = 0 GetLastCommTime > 0 St_Attack = 0 GetStandTime > 2 St_EnableFire = 0 DistToMT < 1000 UnitsAmountMT < 31 GetTired > 40 MoralMT > 700  GetBarrierToMT < 180
  1418. do AttackMT 80
  1419. if GetLastCommTime > 0 GetLastCommTime > 3 GetStandTime < 1 GetTired < 15 DistToMT > 400 
  1420. do Stop 140
  1421. if GetLastCommTime > 0 St_March = 1 GetLastCommTime > 3 St_March = 1 DistToAim < 200 
  1422. do Stop 150
  1423.  
  1424. if GetLastCommTime > 0 GetLastCommTime > 3 DistToMT > 250 DistToMT < 600 GetFireReady < 70 GetTired > 20 GetBarrierToMT < 180
  1425. do MoveBack 67
  1426. if GetLastCommTime > 0 GetLastCommTime > 3 DistToMT > 250 DistToMT < 600 GetFireReady > 69 FireReadyMT > 20 GetTired > 20 GetBarrierToMT < 180
  1427. do MoveBack 67
  1428. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 950 DistToMT > 400 IsMTCannon = 1 KartechDanger > 20 GetBarrierToMT < 180
  1429. do MoveBack 65
  1430.  
  1431. if GetLastCommTime > 0 St_EnableFire = 1 DistToMT > 1500  GetAloneEnmUnits > 5
  1432. do DisableFire 30
  1433. if GetLastCommTime > 0 St_EnableFire = 1 GetFireReady < 2 
  1434. do DisableFire 31
  1435. if GetLastCommTime > 0 GetStandTime < 1 St_EnableFire = 0 DistToMT > 1000 GetFireReady < 40 GetAloneEnmUnits > 5  GetTired > 40
  1436. do AttackAloneEnmUnits 15
  1437. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 0 DistToMT > 1000 GetFireReady < 40 GetAloneEnmUnits > 5  GetTired > 40
  1438. do AttackAloneEnmUnits 15
  1439. if GetLastCommTime > 0 GetStandTime > 2 St_EnableFire = 1 DistToMT > 1000 GetFireReady < 40 GetAloneEnmUnits > 5  GetTired > 40
  1440. do AttackAloneEnmUnits 15
  1441. if GetLastCommTime > 0 St_March = 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetFireReady > 80 GetTired > 50  DistInReserv < 70 DistToMT < 2200 DistToMT > 500
  1442. do KeepDistInReserv 13
  1443. if GetLastCommTime > 0 St_March = 0 GetStandTime > 5 St_Reserv = 1 St_Attack = 0 GetTired > 50 GetFireReady > 80  DistInReserv > 130 DistToMT < 2200 DistToMT > 500
  1444. do KeepDistInReserv 14
  1445. /if GetLastCommTime > 0 St_March = 0 GetStandTime > 5 St_Attack = 0 DistToMT < 2200 St_Front = 1 DistInFront > 130 GetFireReady > 80 GetTired > 50  DistToMT > 500
  1446. /do KeepDistInFront 15
  1447. /if GetLastCommTime > 0 St_March = 0 GetStandTime > 5 St_Attack = 0 DistToMT < 2200 St_Front = 1 DistInFront < 70 GetFireReady > 80 GetTired > 50  DistToMT > 500
  1448. /do KeepDistInFront 16
  1449. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 DistToMT < 900 GetFireReady > 80 GetTired > 40 AngToMT > 42 IsStandGround = 0 
  1450. do TurnToMT 50
  1451. if GetLastCommTime > 0 GetStandTime > 2 St_Attack = 0 GetTired > 40 DistToMT < 900 GetFireReady > 70 IsStandGround = 0 AngToMT > 42 
  1452. do TurnToMT 51
  1453. if GetLastCommTime > 0 GetStandTime > 2 GetTired > 40 DistToMT < 900 GetFireReady > 70 IsStandGround = 1 AngToMT > 42 
  1454. do TurnToMT 52
  1455. /OnlyForCampaign/
  1456. /OnlyForCampaign/
  1457. if GetLastCommTime > 0 St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 3000 GetFireReady > 98 DistToAim > 200  GetPolkCommand < 6
  1458. do MoveToAim 40
  1459. if GetLastCommTime > 0 St_Attack = 0 St_March = 0 GetTired > 60 DistToMT > 1250 GetFireReady > 98 DistToAim > 200  GetPolkCommand > 5
  1460. do MoveToAim 41
  1461. if GetLastCommTime > 0 St_March = 1 DistToAim > 200 GetLastCommTime > 20 
  1462. do MoveToAim 91
  1463. if GetLastCommTime > 0 GetLastCommTime > 5 St_March = 0 GetDistToFriendlyForm < 100 GetTired > 40 St_Attack = 0 DistToMT < 1500  DistToMT > 500
  1464. do KeepDistInReserv 17
  1465. #
  1466.